am eafcbe10: am 072a0fac: Merge "Fixed adb crash due to accessing freed memory"
* commit 'eafcbe109f97e5a687cc944e65c383fa45d71c8f':
Fixed adb crash due to accessing freed memory
diff --git a/adb/sockets.c b/adb/sockets.c
index aa4d5fc..f0357d6 100644
--- a/adb/sockets.c
+++ b/adb/sockets.c
@@ -221,10 +221,12 @@
if(s->peer) {
s->peer->peer = 0;
// tweak to avoid deadlock
- if (s->peer->close == local_socket_close)
+ if (s->peer->close == local_socket_close) {
local_socket_close_locked(s->peer);
- else
+ } else {
s->peer->close(s->peer);
+ }
+ s->peer = 0;
}
/* If we are already closing, or if there are no
@@ -782,6 +784,7 @@
if(s->peer) {
s->peer->peer = 0;
s->peer->close(s->peer);
+ s->peer = 0;
}
free(s);
}