[OpenSIPS-Devel] [OpenSIPS/opensips] cabb4c: F_MALLOC: Recover from double pointer free

Liviu Chircu liviu at opensips.org
Fri Feb 16 12:57:32 EST 2018


  Branch: refs/heads/2.3
  Home:   https://github.com/OpenSIPS/opensips
  Commit: cabb4c0824662a2261f4aa4e577ead6cc789e4c6
      https://github.com/OpenSIPS/opensips/commit/cabb4c0824662a2261f4aa4e577ead6cc789e4c6
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2018-02-16 (Fri, 16 Feb 2018)

  Changed paths:
    M mem/f_malloc.c

  Log Message:
  -----------
  F_MALLOC: Recover from double pointer free

This patch makes F_MALLOC more robust in production by avoiding memory
corruption in case of double free operations. Previously, the hash state
would immediately get corrupted on such operations, and it would only be
a matter of time before the allocator would crash in some random place
with a useless backtrace resembling:

\#0  0x0000000000507209 in fm_remove_free (qm=0x7f7d578d2010, size=56) at
mem/f_malloc.c:200
200          *pf=n->u.nxt_free;

When DBG_MALLOC is defined, F_MALLOC will now abort() on a double free,
similar to QM_MALLOC.

(cherry picked from commit 2254d0011535d37d8aa05387d4d967d074d7b9d5)




More information about the Devel mailing list