Binary compatibility report for the libconfig library between 1.3.1 and 1.3.2 versions on x86
Test Info
Library Name | libconfig |
Version #1 | 1.3.1 |
Version #2 | 1.3.2 |
CPU Architecture | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 1 |
Total Shared Libraries | 2 |
Total Symbols / Types | 45 / 39 |
Verdict | Incompatible (5.56%) |
---|
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 5 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Symbols | High | 0 |
Medium | 8 |
Low | 2 |
Problems with Constants | Low | 0 |
Other Changes | - | 0 |
Added Symbols (5)
libconfig.h,
libconfig++.so.8.0.0
config_setting_lookup_bool ( config_setting_t const* setting, char const* name, int* value )
config_setting_lookup_float ( config_setting_t const* setting, char const* name, double* value )
config_setting_lookup_int ( config_setting_t const* setting, char const* name, long* value )
config_setting_lookup_int64 ( config_setting_t const* setting, char const* name, long long* value )
config_setting_lookup_string ( config_setting_t const* setting, char const* name, char const** value )
to the top
Problems with Symbols, Medium Severity (8)
libconfig.h,
libconfig++.so.6.1.1
[+] config_lookup_bool ( config_t const* config, char const* path ) (1)
changed to:config_lookup_bool ( config_t const* config, char const* path, int* value )
| Change | Effect |
---|
1 | Parameter value of type int* has been added to the calling stack. | This parameter will not be initialized by old clients. |
[+] config_lookup_float ( config_t const* config, char const* path ) (2)
changed to:config_lookup_float ( config_t const* config, char const* path, double* value )
| Change | Effect |
---|
1 | Parameter value of type double* has been added to the calling stack. | This parameter will not be initialized by old clients. |
2 | Type of return value has been changed from double to int. | The scalar and floating-point values are passed in different registers. Applications will read a garbage instead of the return value and may change the behaviour. |
[+] config_lookup_int ( config_t const* config, char const* path ) (1)
changed to:config_lookup_int ( config_t const* config, char const* path, long* value )
| Change | Effect |
---|
1 | Parameter value of type long* has been added to the calling stack. | This parameter will not be initialized by old clients. |
[+] config_lookup_int64 ( config_t const* config, char const* path ) (2)
changed to:config_lookup_int64 ( config_t const* config, char const* path, long long* value )
| Change | Effect |
---|
1 | Parameter value of type long long* has been added to the calling stack. | This parameter will not be initialized by old clients. |
2 | Type of return value has been changed from long long (8 bytes) to int (4 bytes). | Applications will obtain a different return value and execution may change. |
[+] config_lookup_string ( config_t const* config, char const* path ) (2)
changed to:config_lookup_string ( config_t const* config, char const* path, char const** value )
| Change | Effect |
---|
1 | The pointer level of return value has been decreased from 1 to 0. | Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash. |
2 | Parameter value of type char const** has been added to the calling stack. | This parameter will not be initialized by old clients. |
to the top
Problems with Symbols, Low Severity (2)
libconfig.h,
libconfig++.so.6.1.1
[+] config_lookup_int ( config_t const* config, char const* path ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from long to int. | Replacement of return type may indicate a change in its semantic meaning. |
[+] config_lookup_string ( config_t const* config, char const* path ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from char const* to int. | Replacement of return type may indicate a change in its semantic meaning. |
to the top
Header Files (1)
libconfig.h
to the top
Shared Libraries (2)
libconfig++.so.6.1.1
libconfig.so.6.1.1
to the top