aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 3723f9ea872..57ffd0b0ed9 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -309,6 +309,7 @@ static void mark_glyph_matrix P_ ((struct glyph_matrix *));
309static void mark_face_cache P_ ((struct face_cache *)); 309static void mark_face_cache P_ ((struct face_cache *));
310 310
311#ifdef HAVE_WINDOW_SYSTEM 311#ifdef HAVE_WINDOW_SYSTEM
312extern void mark_fringe_data P_ ((void));
312static void mark_image P_ ((struct image *)); 313static void mark_image P_ ((struct image *));
313static void mark_image_cache P_ ((struct frame *)); 314static void mark_image_cache P_ ((struct frame *));
314#endif /* HAVE_WINDOW_SYSTEM */ 315#endif /* HAVE_WINDOW_SYSTEM */
@@ -704,9 +705,14 @@ overrun_check_free (block)
704 val + osize, 705 val + osize,
705 XMALLOC_OVERRUN_CHECK_SIZE)) 706 XMALLOC_OVERRUN_CHECK_SIZE))
706 abort (); 707 abort ();
708#ifdef XMALLOC_CLEAR_FREE_MEMORY
709 val -= XMALLOC_OVERRUN_CHECK_SIZE;
710 memset (val, 0xff, osize + XMALLOC_OVERRUN_CHECK_SIZE*2);
711#else
707 bzero (val + osize, XMALLOC_OVERRUN_CHECK_SIZE); 712 bzero (val + osize, XMALLOC_OVERRUN_CHECK_SIZE);
708 val -= XMALLOC_OVERRUN_CHECK_SIZE; 713 val -= XMALLOC_OVERRUN_CHECK_SIZE;
709 bzero (val, XMALLOC_OVERRUN_CHECK_SIZE); 714 bzero (val, XMALLOC_OVERRUN_CHECK_SIZE);
715#endif
710 } 716 }
711 717
712 free (val); 718 free (val);
@@ -4799,6 +4805,10 @@ returns nil, because real GC can't be done. */)
4799 } 4805 }
4800 mark_backtrace (); 4806 mark_backtrace ();
4801 4807
4808#ifdef HAVE_WINDOW_SYSTEM
4809 mark_fringe_data ();
4810#endif
4811
4802#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES 4812#if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
4803 mark_stack (); 4813 mark_stack ();
4804#endif 4814#endif