You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Require C++17 standard: Modernize the codebase and leverage modern C++ features for safer and more maintainable code.
Improve build systems and GitHub Actions: Renovate the build infrastructure to support multiple build systems (CMake, Meson, autotools) and enhance CI/CD workflows for better reliability and test coverage.
Code Quality & Fixes
Add argument checks: Implement stricter validation of command-line arguments to prevent undefined behavior and improve user feedback.
Replace asprintf with a portable solution: Replace a non-standard glibc function with a cross-platform alternative, improving compatibility with different operating systems (e.g., Windows, BSD).
Fix memory leaks: Resolve several identified memory leaks, including:
An issue in unite_templates() where incorrect reference counting caused memory to not be freed.
Ensuring proper destruction of image data (pixl) in error paths.
Fix forcing DPI (-D switch): Correct a bug where the -D command-line option to set the DPI for images without embedded DPI information was not functioning properly.
Fix undefined behavior: Resolve an undefined bit-shifting operation in the arithmetic coding component (jbig2arith.cc), ensuring deterministic and correct behavior across all compilers and architectures.
Maintenance & Cleanup
Improve resource management: Free resources even when running in non-symbol mode, preventing leaks in all execution paths.