Make xcb_disconnect(NULL) safe
Code can be simplified if the deallocation functions can always be called in cleanup code. So if you have some code that does several things that can go wrong, one of which is xcb_connect(), after this change, the xcb_connection_t* variable can be initialized to NULL and xcb_disconnect() can always be called on the connection object. References: http://lists.freedesktop.org/archives/xcb/2013-September/008659.html Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
parent
4dcbfd77b7
commit
2fb14e5883
|
@ -483,7 +483,7 @@ xcb_connection_t *xcb_connect_to_fd(int fd, xcb_auth_info_t *auth_info);
|
|||
* @param c: The connection.
|
||||
*
|
||||
* Closes the file descriptor and frees all memory associated with the
|
||||
* connection @c c.
|
||||
* connection @c c. If @p c is @c NULL, nothing is done.
|
||||
*/
|
||||
void xcb_disconnect(xcb_connection_t *c);
|
||||
|
||||
|
|
|
@ -350,7 +350,7 @@ xcb_connection_t *xcb_connect_to_fd(int fd, xcb_auth_info_t *auth_info)
|
|||
|
||||
void xcb_disconnect(xcb_connection_t *c)
|
||||
{
|
||||
if(is_static_error_conn(c))
|
||||
if(c == NULL || is_static_error_conn(c))
|
||||
return;
|
||||
|
||||
free(c->setup);
|
||||
|
|
Loading…
Reference in New Issue