diff --git a/src/libsysprof/preload/sysprof-memory-collector.c b/src/libsysprof/preload/sysprof-memory-collector.c index ed6dc507..72cf0515 100644 --- a/src/libsysprof/preload/sysprof-memory-collector.c +++ b/src/libsysprof/preload/sysprof-memory-collector.c @@ -197,8 +197,12 @@ realloc (void *ptr, void free (void *ptr) { - real_free (ptr); - track_free (ptr); + if G_LIKELY (ptr < (void *)scratch.buf || + ptr >= (void *)&scratch.buf[sizeof scratch.buf]) + { + real_free (ptr); + track_free (ptr); + } } void *