]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix search_regs memory leak when thread destroyed
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 28 Mar 2019 03:58:34 +0000 (20:58 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 28 Mar 2019 04:24:25 +0000 (21:24 -0700)
* src/thread.c (free_search_regs): New function.
(finalize_one_thread): Use it.

src/thread.c

index 59e5b6617e3e7211cb0ec743f03118853312affd..e51d6144347116f2ba82d32e6c6604018846b434 100644 (file)
@@ -768,9 +768,21 @@ run_thread (void *state)
   return NULL;
 }
 
+static void
+free_search_regs (struct re_registers *regs)
+{
+  if (regs->num_regs != 0)
+    {
+      xfree (regs->start);
+      xfree (regs->end);
+    }
+}
+
 void
 finalize_one_thread (struct thread_state *state)
 {
+  free_search_regs (&state->m_search_regs);
+  free_search_regs (&state->m_saved_search_regs);
   sys_cond_destroy (&state->thread_condvar);
 }