diff options
| author | Nick Kralevich <nnk@google.com> | 2011-06-09 11:27:11 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-09 11:27:11 -0700 |
| commit | 37b9fc6e7c25e4d7f57e1df6954498c8bc3c5a1b (patch) | |
| tree | 2ca0157623ee265133ee3115c99c8cbfcdb6da9e /adb | |
| parent | 953907faa38e8deff2b0a8f3c3cd7db68074950a (diff) | |
| parent | 4ba5a8acba033127befd184f2f78cf0580995b07 (diff) | |
| download | system_core-37b9fc6e7c25e4d7f57e1df6954498c8bc3c5a1b.tar.gz system_core-37b9fc6e7c25e4d7f57e1df6954498c8bc3c5a1b.tar.bz2 system_core-37b9fc6e7c25e4d7f57e1df6954498c8bc3c5a1b.zip | |
am 4ba5a8ac: am eafcbe10: am 072a0fac: Merge "Fixed adb crash due to accessing freed memory"
* commit '4ba5a8acba033127befd184f2f78cf0580995b07':
Fixed adb crash due to accessing freed memory
Diffstat (limited to 'adb')
| -rw-r--r-- | adb/sockets.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/adb/sockets.c b/adb/sockets.c index 45d935c0..3d62f1e5 100644 --- a/adb/sockets.c +++ b/adb/sockets.c @@ -225,10 +225,12 @@ static void local_socket_close_locked(asocket *s) s->id, s->peer->id, s->peer->fd); 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 @@ -799,6 +801,7 @@ static void smart_socket_close(asocket *s) if(s->peer) { s->peer->peer = 0; s->peer->close(s->peer); + s->peer = 0; } free(s); } |
