-
Notifications
You must be signed in to change notification settings - Fork 16
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
Tilp: Coredump on unsupported library versions #74
Comments
I'm happy to submit a PR with either of the above patches (or another) if you would like |
Thanks for the report. It's interesting that this one doesn't get reported more often... do you have multiple versions of libti* in your LD_LIBRARY_PATH ? Running TILP with outdated library dependencies is a fatal error, in that a subset of the functionality will be unavailable. Since there's a need to fiddle with the library version checking code anyway... I think that the right way to fix this is to use a proper version comparison routine (which |
does C / GTK supply a version checking function? I tried a google search and couldn't find anything that looked promising? |
There had to be a version comparison routine in package managers or below For simple version numbers made of 3 numeric elements, |
When an unsupported library version is detected, tilp_init exits early and functions like
tilp_paths_init()
never get called, leading to null values being passed to Gtk later.1 of 2 options should be chosen to avoid segfaulting:
return 1
statements (just warn on stderr) -- This is only an option if it's possible to continue execution without the correct libraries (albeit a User Error). It seems to be?diff
tilp_init()
indicates failure:diff
Having tested both of these with invalid library versions, I prefer the former, as it would allow me to continue to use the git HEAD (I'm on Arch and the libraries are not available yet), however, the later would help prevent bug reports due to outdated dependencies.
The text was updated successfully, but these errors were encountered: