Binary compatibility report for the jack library between 1.9.8 and 1.9.9.5 versions on x86
Test Info
Library Name | jack |
Version #1 | 1.9.8 |
Version #2 | 1.9.9.5 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 15 |
Total Shared Libraries | 3 |
Total Symbols / Types | 205 / 165 |
Verdict | Incompatible (1%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 2 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Symbols | High | 3 |
Medium | 0 |
Low | 3 |
Problems with Constants | Low | 0 |
Added Symbols (2)
control.h,
libjackserver.so.0.1.0
jackctl_driver_params_parse ( jackctl_driver_t* driver, int argc, char** argv )
jack.h,
libjackserver.so.0.1.0
jack_get_cycle_times ( jack_client_t const* client, jack_nframes_t* current_frames, jack_time_t* current_usecs, jack_time_t* next_usecs, float* period_usecs )
to the top
Problems with Symbols, High Severity (3)
control.h,
libjackserver.so.0.1.0
[+] jackctl_setup_signals ( unsigned int flags ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from sigset_t (128 bytes) to jackctl_sigmask_t* (4 bytes). | 1) The return value became passed in register instead of the hidden first argument (address of the space on the stack provided by the caller) and therefore the layout of parameter's stack has been shifted by 4 bytes. All the parameters will be incorrectly initialized by applications. 2) Applications will read the wrong memory block instead of the return value. |
[+] jackctl_wait_signals ( sigset_t signals ) (2)
changed to:jackctl_wait_signals ( jackctl_sigmask_t* signals )
| Change | Effect |
---|
1 | Type of 1st parameter signals has been changed from sigset_t (128 bytes) to jackctl_sigmask_t* (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
2 | The pointer level of 1st parameter signals has been increased from 0 to 1. | The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications. |
to the top
Problems with Symbols, Low Severity (3)
control.h,
libjackserver.so.0.1.0
[+] jackctl_setup_signals ( unsigned int flags ) (1)
| Change | Effect |
---|
1 | The pointer level of return value has been increased from 0 to 1. | Applications will treat the return value as the lower-dimension array and will not read all elements. This may change the behavior of applications. |
transport.h,
libjackserver.so.0.1.0
[+] jack_transport_query ( jack_client_t const* client, jack_position_t* pos ) (1)
changed to:jack_transport_query ( jack_client_t const* client, jack_position_t* pos )
| Change | Effect |
---|
1 | Base type of 2nd parameter pos has been changed from jack_position_t to _jack_position. | Replacement of parameter base type may indicate a change in its semantic meaning. |
[+] jack_transport_reposition ( jack_client_t* client, jack_position_t const* pos ) (1)
changed to:jack_transport_reposition ( jack_client_t* client, jack_position_t const* pos )
| Change | Effect |
---|
1 | Base type of 2nd parameter pos has been changed from jack_position_t to _jack_position. | Replacement of parameter base type may indicate a change in its semantic meaning. |
to the top
Header Files (15)
control.h
intclient.h
jack.h
jslist.h
midiport.h
net.h
ringbuffer.h
session.h
statistics.h
systemdeps.h
thread.h
transport.h
types.h
weakjack.h
weakmacros.h
to the top
Shared Libraries (3)
libjack.so.0.1.0
libjacknet.so.0.1.0
libjackserver.so.0.1.0
to the top