Binary compatibility report for the XcbUtil library between 0.2.1 and 0.3.0 versions on x86
Test Info
Library Name | XcbUtil |
Version #1 | 0.2.1 |
Version #2 | 0.3.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 12 |
Total Shared Libraries | 10 |
Total Symbols / Types | 236 / 114 |
Verdict | Incompatible (24.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 54 |
Removed Symbols | High | 48 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 1 |
Problems with Symbols | High | 12 |
Medium | 19 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (54)
xcb_atom.h,
libxcb-atom.so.1.0.0
xcb_atom_get_fast ( xcb_connection_t* c, uint8_t only_if_exists, uint16_t name_len, char const* name )
xcb_atom_get_fast_reply ( xcb_connection_t* c, xcb_atom_fast_cookie_t cookie, xcb_generic_error_t** e )
xcb_atom_get_name ( xcb_connection_t* c, xcb_atom_t atom, char const** namep, int* lengthp )
xcb_atom_get_name_predefined ( xcb_atom_t atom )
xcb_atom_get_predefined ( uint16_t name_len, char const* name )
xcb_atom_name_by_resource ( char const* base, uint32_t resource )
xcb_atom_name_by_screen ( char const* base, uint8_t screen )
xcb_atom_name_unique ( char const* base, uint32_t id )
xcb_event.h,
libxcb-event.so.1.0.0
xcb_event_get_xcb_connection ( xcb_event_handlers_t* evenths )
xcb_event_handle ( xcb_event_handlers_t* evenths, xcb_generic_event_t* event )
xcb_event_handlers_init ( xcb_connection_t* c, xcb_event_handlers_t* evenths )
xcb_event_poll_for_event_loop ( xcb_event_handlers_t* evenths )
xcb_event_set_error_handler ( xcb_event_handlers_t* evenths, int error, xcb_generic_error_handler_t handler, void* data )
xcb_event_set_handler ( xcb_event_handlers_t* evenths, int event, xcb_generic_event_handler_t handler, void* data )
xcb_event_wait_for_event_loop ( xcb_event_handlers_t* evenths )
xcb_icccm.h,
libxcb-icccm.so.1.0.0
xcb_get_text_property ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property )
xcb_get_text_property_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_text_property_reply_t* prop, xcb_generic_error_t** e )
xcb_get_text_property_reply_wipe ( xcb_get_text_property_reply_t* prop )
xcb_get_text_property_unchecked ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property )
xcb_get_wm_class ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_class_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_wm_class_reply_t* prop, xcb_generic_error_t** e )
xcb_get_wm_class_reply_wipe ( xcb_get_wm_class_reply_t* prop )
xcb_get_wm_class_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_client_machine_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_text_property_reply_t* prop, xcb_generic_error_t** e )
xcb_get_wm_client_machine_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_hints_from_reply ( xcb_wm_hints_t* hints, xcb_get_property_reply_t* reply )
xcb_get_wm_hints_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_wm_hints_t* hints, xcb_generic_error_t** e )
xcb_get_wm_hints_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_icon_name_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_text_property_reply_t* prop, xcb_generic_error_t** e )
xcb_get_wm_icon_name_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_name_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_text_property_reply_t* prop, xcb_generic_error_t** e )
xcb_get_wm_name_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_normal_hints_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_size_hints_t* hints, xcb_generic_error_t** e )
xcb_get_wm_normal_hints_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_get_wm_protocols_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_get_wm_protocols_reply_t* protocols, xcb_generic_error_t** e )
xcb_get_wm_protocols_reply_wipe ( xcb_get_wm_protocols_reply_t* protocols )
xcb_get_wm_protocols_unchecked ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t wm_protocol_atom )
xcb_get_wm_size_hints_from_reply ( xcb_size_hints_t* hints, xcb_get_property_reply_t* reply )
xcb_get_wm_size_hints_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_size_hints_t* hints, xcb_generic_error_t** e )
xcb_get_wm_size_hints_unchecked ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property )
xcb_get_wm_transient_for_from_reply ( xcb_window_t* prop, xcb_get_property_reply_t* reply )
xcb_get_wm_transient_for_reply ( xcb_connection_t* c, xcb_get_property_cookie_t cookie, xcb_window_t* prop, xcb_generic_error_t** e )
xcb_get_wm_transient_for_unchecked ( xcb_connection_t* c, xcb_window_t window )
xcb_property.h,
libxcb-property.so.1.0.0
xcb_get_any_property_unchecked ( xcb_connection_t* c, uint8_t del, xcb_window_t window, xcb_atom_t name, uint32_t long_len )
xcb_property_get_event_handlers ( xcb_property_handlers_t* prophs )
xcb_property_handlers_init ( xcb_property_handlers_t* prophs, xcb_event_handlers_t* evenths )
xcb_property_handlers_wipe ( xcb_property_handlers_t* prophs )
xcb_property_set_default_handler ( xcb_property_handlers_t* prophs, uint32_t long_len, xcb_generic_property_handler_t handler, void* data )
xcb_property_set_handler ( xcb_property_handlers_t* prophs, xcb_atom_t name, uint32_t long_len, xcb_generic_property_handler_t handler, void* data )
xcb_reply.h,
libxcb-reply.so.1.0.0
xcb_reply_add_handler ( xcb_reply_handlers_t* h, unsigned int request, xcb_generic_reply_handler_t handler, void* data )
xcb_reply_get_xcb_connection ( xcb_reply_handlers_t* h )
xcb_reply_handlers_init ( xcb_connection_t* c, xcb_reply_handlers_t* h )
xcb_reply_start_thread ( xcb_reply_handlers_t* h )
xcb_reply_stop_thread ( xcb_reply_handlers_t* h )
to the top
Removed Symbols (48)
xcb_atom.h,
libxcb-atom.so.0.0.0
get_atom_name ( xcb_connection_t* c, xcb_atom_t atom, char const** namep, int* lengthp )
get_atom_name_predefined ( xcb_atom_t atom )
intern_atom_fast ( xcb_connection_t* c, uint8_t only_if_exists, uint16_t name_len, char const* name )
intern_atom_fast_reply ( xcb_connection_t* c, intern_atom_fast_cookie_t cookie, xcb_generic_error_t** e )
intern_atom_predefined ( uint16_t name_len, char const* name )
xcb_event.h,
libxcb-event.so.0.0.0
xcb_alloc_event_handlers ( xcb_connection_t* c )
xcb_free_event_handlers ( xcb_event_handlers_t* evenths )
xcb_get_xcb_connection ( xcb_event_handlers_t* evenths )
xcb_handle_event ( xcb_event_handlers_t* evenths, xcb_generic_event_t* event )
xcb_poll_for_event_loop ( xcb_event_handlers_t* evenths )
xcb_set_error_handler ( xcb_event_handlers_t* evenths, int error, xcb_generic_error_handler_t handler, void* data )
xcb_set_event_handler ( xcb_event_handlers_t* evenths, int event, xcb_generic_event_handler_t handler, void* data )
xcb_wait_for_event_loop ( xcb_event_handlers_t* evenths )
xcb_icccm.h,
libxcb-icccm.so.0.0.0
xcb_alloc_size_hints ( )
xcb_alloc_wm_hints ( )
xcb_free_size_hints ( xcb_size_hints_t* hints )
xcb_free_wm_hints ( xcb_wm_hints_t* hints )
xcb_size_hints_get_base_size ( xcb_size_hints_t* hints, int32_t* base_width, int32_t* base_height )
xcb_size_hints_get_flags ( xcb_size_hints_t* hints )
xcb_size_hints_get_increase ( xcb_size_hints_t* hints, int32_t* width_inc, int32_t* height_inc )
xcb_size_hints_get_max_aspect ( xcb_size_hints_t* hints, int32_t* max_aspect_num, int32_t* max_aspect_den )
xcb_size_hints_get_max_size ( xcb_size_hints_t* hints, int32_t* max_width, int32_t* max_height )
xcb_size_hints_get_min_aspect ( xcb_size_hints_t* hints, int32_t* min_aspect_num, int32_t* min_aspect_den )
xcb_size_hints_get_min_size ( xcb_size_hints_t* hints, int32_t* min_width, int32_t* min_height )
xcb_size_hints_get_position ( xcb_size_hints_t* hints, int32_t* x, int32_t* y )
xcb_size_hints_get_size ( xcb_size_hints_t* hints, int32_t* width, int32_t* height )
xcb_size_hints_get_win_gravity ( xcb_size_hints_t* hints )
xcb_size_hints_set_flags ( xcb_size_hints_t* hints, uint32_t flags )
xcb_wm_hints_get_flags ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_icon_mask ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_icon_pixmap ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_icon_window ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_initial_state ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_input ( xcb_wm_hints_t* hints )
xcb_wm_hints_get_window_group ( xcb_wm_hints_t* hints )
xcb_wm_hints_set_flags ( xcb_wm_hints_t* hints, uint32_t flags )
xcb_property.h,
libxcb-property.so.0.0.0
xcb_alloc_property_handlers ( xcb_event_handlers_t* evenths )
xcb_free_property_handlers ( xcb_property_handlers_t* prophs )
xcb_get_property_event_handlers ( xcb_property_handlers_t* prophs )
xcb_set_default_property_handler ( xcb_property_handlers_t* prophs, uint32_t long_len, xcb_generic_property_handler_t handler, void* data )
xcb_set_property_handler ( xcb_property_handlers_t* prophs, xcb_atom_t name, uint32_t long_len, xcb_generic_property_handler_t handler, void* data )
xcb_reply.h,
libxcb-reply.so.0.0.0
add_reply_handler ( reply_handlers_t* h, unsigned int request, generic_reply_handler handler, void* data )
alloc_reply_handlers ( xcb_connection_t* c )
free_reply_handlers ( reply_handlers_t* h )
get_xcb_connection ( reply_handlers_t* h )
poll_replies ( reply_handlers_t* h )
start_reply_thread ( reply_handlers_t* h )
stop_reply_thread ( reply_handlers_t* h )
to the top
Problems with Symbols, High Severity (12)
xcb_icccm.h,
libxcb-icccm.so.0.0.0
[+] xcb_get_wm_client_machine ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from int (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_hints ( xcb_connection_t* c, xcb_window_t window ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from xcb_wm_hints_t* (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_icon_name ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from int (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_name ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from int (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_normal_hints ( xcb_connection_t* c, xcb_window_t window, long* supplied ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from xcb_size_hints_t* (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_protocols ( xcb_connection_t* c, xcb_window_t window, uint32_t* list_len, xcb_atom_t** list ) (3)
changed to:xcb_get_wm_protocols ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t wm_protocol_atom )
| Change | Effect |
---|
1 | Type of return value has been changed from int (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
2 | Parameter wm_protocol_atom of type xcb_atom_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
3 | 3rd middle parameter list_len has been removed from the calling stack. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
[+] xcb_get_wm_size_hints ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property, long* supplied ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from xcb_size_hints_t* (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_get_wm_transient_for ( xcb_connection_t* c, xcb_window_t window, xcb_window_t* prop_win ) (1)
| Change | Effect |
---|
1 | Type of return value has been changed from int (4 bytes) to xcb_get_property_cookie_t (4 bytes). | 1) The return value became passed in memory as the hidden first argument (address of the space on the stack provided by the caller) instead of the register 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. |
[+] xcb_set_wm_protocols ( xcb_connection_t* c, xcb_window_t window, uint32_t list_len, xcb_atom_t* list ) (1)
changed to:xcb_set_wm_protocols ( xcb_connection_t* c, xcb_atom_t wm_protocols, xcb_window_t window, uint32_t list_len, xcb_atom_t* list )
| Change | Effect |
---|
1 | Parameter wm_protocols of type xcb_atom_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
[+] xcb_set_wm_protocols_checked ( xcb_connection_t* c, xcb_window_t window, uint32_t list_len, xcb_atom_t* list ) (1)
changed to:xcb_set_wm_protocols_checked ( xcb_connection_t* c, xcb_atom_t wm_protocols, xcb_window_t window, uint32_t list_len, xcb_atom_t* list )
| Change | Effect |
---|
1 | Parameter wm_protocols of type xcb_atom_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
to the top
Problems with Symbols, Medium Severity (19)
xcb_icccm.h,
libxcb-icccm.so.0.0.0
[+] xcb_get_wm_client_machine ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (4)
changed to:xcb_get_wm_client_machine ( xcb_connection_t* c, xcb_window_t window )
| Change | Effect |
---|
1 | 3rd parameter format has been removed from the calling stack. | This parameter will be ignored by the function. |
2 | 4th parameter encoding has been removed from the calling stack. | This parameter will be ignored by the function. |
3 | 5th parameter name_len has been removed from the calling stack. | This parameter will be ignored by the function. |
4 | 6th parameter name has been removed from the calling stack. | This parameter will be ignored by the function. |
[+] xcb_get_wm_hints ( xcb_connection_t* c, xcb_window_t window ) (1)
| 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. |
[+] xcb_get_wm_icon_name ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (4)
changed to:xcb_get_wm_icon_name ( xcb_connection_t* c, xcb_window_t window )
| Change | Effect |
---|
1 | 3rd parameter format has been removed from the calling stack. | This parameter will be ignored by the function. |
2 | 4th parameter encoding has been removed from the calling stack. | This parameter will be ignored by the function. |
3 | 5th parameter name_len has been removed from the calling stack. | This parameter will be ignored by the function. |
4 | 6th parameter name has been removed from the calling stack. | This parameter will be ignored by the function. |
[+] xcb_get_wm_name ( xcb_connection_t* c, xcb_window_t window, uint8_t* format, xcb_atom_t* encoding, uint32_t* name_len, char** name ) (4)
changed to:xcb_get_wm_name ( xcb_connection_t* c, xcb_window_t window )
| Change | Effect |
---|
1 | 3rd parameter format has been removed from the calling stack. | This parameter will be ignored by the function. |
2 | 4th parameter encoding has been removed from the calling stack. | This parameter will be ignored by the function. |
3 | 5th parameter name_len has been removed from the calling stack. | This parameter will be ignored by the function. |
4 | 6th parameter name has been removed from the calling stack. | This parameter will be ignored by the function. |
[+] xcb_get_wm_normal_hints ( xcb_connection_t* c, xcb_window_t window, long* supplied ) (2)
changed to:xcb_get_wm_normal_hints ( xcb_connection_t* c, xcb_window_t window )
| Change | Effect |
---|
1 | 3rd parameter supplied has been removed from the calling stack. | This parameter will be ignored by the function. |
2 | 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. |
[+] xcb_get_wm_protocols ( xcb_connection_t* c, xcb_window_t window, uint32_t* list_len, xcb_atom_t** list ) (1)
changed to:xcb_get_wm_protocols ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t wm_protocol_atom )
| Change | Effect |
---|
1 | 4th parameter list has been removed from the calling stack. | This parameter will be ignored by the function. |
[+] xcb_get_wm_size_hints ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property, long* supplied ) (2)
changed to:xcb_get_wm_size_hints ( xcb_connection_t* c, xcb_window_t window, xcb_atom_t property )
| Change | Effect |
---|
1 | 4th parameter supplied has been removed from the calling stack. | This parameter will be ignored by the function. |
2 | 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. |
[+] xcb_get_wm_transient_for ( xcb_connection_t* c, xcb_window_t window, xcb_window_t* prop_win ) (1)
changed to:xcb_get_wm_transient_for ( xcb_connection_t* c, xcb_window_t window )
| Change | Effect |
---|
1 | 3rd parameter prop_win has been removed from the calling stack. | This parameter will be ignored by the function. |
to the top
Problems with Data Types, Low Severity (1)
xcb_wm.h
[+] struct window_attributes_t (1)
| Change |
Effect |
1 | Type of field tag has been changed from tag_t to xcb_atom_fast_tag_t. | Replacement of the field data type may indicate a change in the semantic meaning of the field. |
[+] affected symbols (1)
manage_window ( xcb_property_handlers_t* prophs, xcb_connection_t* c, xcb_window_t window, window_attributes_t wa )4th parameter 'wa' has type 'window_attributes_t'.
to the top
Header Files (12)
xcb_atom.h
xcb_aux.h
xcb_bitops.h
xcb_event.h
xcb_icccm.h
xcb_image.h
xcb_keysyms.h
xcb_pixel.h
xcb_property.h
xcb_renderutil.h
xcb_reply.h
xcb_wm.h
to the top
Shared Libraries (10)
libxcb-atom.so.0.0.0
libxcb-aux.so.0.0.0
libxcb-event.so.0.0.0
libxcb-icccm.so.0.0.0
libxcb-image.so.0.0.0
libxcb-keysyms.so.0.0.0
libxcb-property.so.0.0.0
libxcb-render-util.so.0.0.0
libxcb-reply.so.0.0.0
libxcb-wm.so.0.0.0
to the top