diff options
author | Martin Szulecki | 2013-11-17 02:40:48 +0100 |
---|---|---|
committer | Martin Szulecki | 2013-11-30 20:13:59 +0100 |
commit | 868e336f8337e14e0288ac1d3c9fd89bee6d1961 (patch) | |
tree | d4ca282bc122791f61709afbd2445870426c4045 /src/idevice.c | |
parent | 5d429dddc5ed442ae4699ab34c21b35bacef456b (diff) | |
download | libimobiledevice-868e336f8337e14e0288ac1d3c9fd89bee6d1961.tar.gz libimobiledevice-868e336f8337e14e0288ac1d3c9fd89bee6d1961.tar.bz2 |
Fix possible memory corruption by ensuring client pointers NULL'd after free
Diffstat (limited to 'src/idevice.c')
-rw-r--r-- | src/idevice.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/idevice.c b/src/idevice.c index 3ed2e9f..428f359 100644 --- a/src/idevice.c +++ b/src/idevice.c @@ -267,6 +267,7 @@ idevice_error_t idevice_disconnect(idevice_connection_t connection) idevice_error_t result = IDEVICE_E_UNKNOWN_ERROR; if (connection->type == CONNECTION_USBMUXD) { usbmuxd_disconnect((int)(long)connection->data); + connection->data = NULL; result = IDEVICE_E_SUCCESS; } else { debug_info("Unknown connection type %d", connection->type); @@ -276,6 +277,7 @@ idevice_error_t idevice_disconnect(idevice_connection_t connection) free(connection->udid); free(connection); + connection = NULL; return result; } |