[tor-commits] [tor/maint-0.4.2] err: Use the correct type for cb_buf

teor at torproject.org teor at torproject.org
Sun Oct 20 23:47:21 UTC 2019


commit 0a5ce8280c7b7e4121237db5a29ea9e0084ffb05
Author: teor <teor at torproject.org>
Date:   Sun Oct 20 20:01:56 2019 +1000

    err: Use the correct type for cb_buf
    
    Fixes bug 32060; bug not in any released version of tor.
    
    Resolves CID 1454761.
---
 src/lib/err/backtrace.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/err/backtrace.c b/src/lib/err/backtrace.c
index bc3ca286e..ce8ddcd7c 100644
--- a/src/lib/err/backtrace.c
+++ b/src/lib/err/backtrace.c
@@ -85,7 +85,7 @@ static pthread_mutex_t cb_buf_mutex = PTHREAD_MUTEX_INITIALIZER;
 
 /** Lock and return a static stack pointer buffer that can hold up to
  *  MAX_DEPTH function pointers. */
-static void *
+static void **
 lock_cb_buf(void)
 {
   /* Lock the mutex first, before even declaring the buffer. */
@@ -102,7 +102,7 @@ lock_cb_buf(void)
 
 /** Unlock the static stack pointer buffer. */
 static void
-unlock_cb_buf(void *cb_buf)
+unlock_cb_buf(void **cb_buf)
 {
   memset(cb_buf, 0, SIZEOF_CB_BUF);
   pthread_mutex_unlock(&cb_buf_mutex);
@@ -149,7 +149,7 @@ log_backtrace_impl(int severity, log_domain_mask_t domain, const char *msg,
   char **symbols;
   size_t i;
 
-  void *cb_buf = lock_cb_buf();
+  void **cb_buf = lock_cb_buf();
 
   depth = backtrace(cb_buf, MAX_DEPTH);
   symbols = backtrace_symbols(cb_buf, (int)depth);
@@ -183,7 +183,7 @@ crash_handler(int sig, siginfo_t *si, void *ctx_)
   int n_fds, i;
   const int *fds = NULL;
 
-  void *cb_buf = lock_cb_buf();
+  void **cb_buf = lock_cb_buf();
 
   (void) si;
 
@@ -214,7 +214,7 @@ dump_stack_symbols_to_error_fds(void)
   const int *fds = NULL;
   size_t depth;
 
-  void *cb_buf = lock_cb_buf();
+  void **cb_buf = lock_cb_buf();
 
   depth = backtrace(cb_buf, MAX_DEPTH);
 
@@ -256,7 +256,7 @@ install_bt_handler(void)
      * libc has pre-loaded the symbols we need to dump things, so that later
      * reads won't be denied by the sandbox code */
     char **symbols;
-    void *cb_buf = lock_cb_buf();
+    void **cb_buf = lock_cb_buf();
     size_t depth = backtrace(cb_buf, MAX_DEPTH);
     symbols = backtrace_symbols(cb_buf, (int) depth);
     if (symbols)





More information about the tor-commits mailing list