FIX: crash on Bionic libc if CloseProxmark is called twice. (#672)
authorMichael Farrell <micolous+gh@gmail.com>
Sat, 6 Oct 2018 15:33:44 +0000 (01:33 +1000)
committerpwpiwi <pwpiwi@users.noreply.github.com>
Sat, 6 Oct 2018 15:33:44 +0000 (17:33 +0200)
commit7b2cd970ec5f158a24c5ab20db80fbfa3cb88dda
tree928dee8956ec07ae08bb0f8d3a9b82ab82dc961b
parent11146fc1e1722ad8780d0589fc2f6a66fa198108
FIX: crash on Bionic libc if CloseProxmark is called twice. (#672)

In Android O and later, if an invalid pthread_t is passed to pthread_join,
it calls fatal().

https://github.com/aosp-mirror/platform_bionic/blob/ed16b344e75f422fb36fbfd91fb30de339475880/libc/bionic/pthread_internal.cpp#L116-L128

This patch addresses it by:

1. Always memset(0) on USB_communications_thread at the end of
   CloseProxmark.

2. On Bionic, only call pthread_join on USB_communications_thread if it is
   not equal to 0.
client/comms.c
Impressum, Datenschutz