]> code.delx.au - gnu-emacs/commitdiff
(concat): Use SAFE_ALLOCA.
authorKim F. Storm <storm@cua.dk>
Mon, 29 Nov 2004 15:35:15 +0000 (15:35 +0000)
committerKim F. Storm <storm@cua.dk>
Mon, 29 Nov 2004 15:35:15 +0000 (15:35 +0000)
src/fns.c

index c436649f73ddde3856b16c54c57feedabcaa32b2..457be6c96a9dd7f5f06591e73cedf88707f3d3b7 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -562,6 +562,7 @@ concat (nargs, args, target_type, last_special)
   struct textprop_rec  *textprops = NULL;
   /* Number of elments in textprops.  */
   int num_textprops = 0;
+  USE_SAFE_ALLOCA;
 
   tail = Qnil;
 
@@ -670,8 +671,7 @@ concat (nargs, args, target_type, last_special)
 
   prev = Qnil;
   if (STRINGP (val))
-    textprops
-      = (struct textprop_rec *) alloca (sizeof (struct textprop_rec) * nargs);
+    SAFE_ALLOCA (textprops, struct textprop_rec *, sizeof (struct textprop_rec) * nargs);
 
   for (argnum = 0; argnum < nargs; argnum++)
     {
@@ -827,6 +827,8 @@ concat (nargs, args, target_type, last_special)
          last_to_end = textprops[argnum].to + SCHARS (this);
        }
     }
+
+  SAFE_FREE ();
   return val;
 }
 \f