From: Michael Farrell Date: Sat, 6 Oct 2018 15:33:44 +0000 (+1000) Subject: FIX: crash on Bionic libc if CloseProxmark is called twice. (#672) X-Git-Tag: v3.1.0~7^2 X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/7b2cd970ec5f158a24c5ab20db80fbfa3cb88dda?ds=inline;hp=7b2cd970ec5f158a24c5ab20db80fbfa3cb88dda 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. ---