Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backwards-incompatible interface change #84

Closed
dmacks opened this issue Nov 9, 2016 · 1 comment
Closed

Backwards-incompatible interface change #84

dmacks opened this issue Nov 9, 2016 · 1 comment

Comments

@dmacks
Copy link

dmacks commented Nov 9, 2016

The fix for CVE-2015-5203 includes a change to jas_stream.h:

 typedef struct {
 [...]
 	/* The allocated size of the buffer for holding file data. */
-	int bufsize_;
+	size_t bufsize_;
 [...]
 } jas_stream_memobj_t;

That changes the size of a public struct, which breaks binary compatibility and therefore causes crashes. See for example: https://bugzilla.redhat.com/show_bug.cgi?id=1254242

In configure.ac, the AC_JAS_LT_* values are documented to be used for this situation (actually for every new release, but it's especially important for ABI breaks). I think changing a public interface signature is equivalent to removing an interface (you removed the old one and added a new one that is "different" but happens to have the same function-name).

@mdadams
Copy link
Collaborator

mdadams commented Nov 9, 2016

Based on my limited understanding of the various AC_JAS_LT* values (which I believe were contributed a long time ago by someone who knows much more about shared library versioning than I do), I would agree with your assessment that these values need updating. So, I have bumped AC_JAS_LT_CURRENT on the master branch and tagged a new release. The new version is tagged as version-1.900.24. Let me know if this does not resolve the problems on your side.

@mdadams mdadams closed this as completed Nov 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants