From 68c42f006d6e8ae73b24dfd0081b73812cf08724 Mon Sep 17 00:00:00 2001 From: Stephen McKay Date: Mon, 26 Jan 2004 04:27:22 +0000 Subject: [PATCH] Use malloc() instead of alloca() to allocate a (potentially) large buffer for storing the "diff -n" output. Some files (eg ports/INDEX,v) are too big nowadays to fit on the stack. Submitted by: Stephen Montgomery-Smith --- usr.sbin/ctm/mkCTM/mkctm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/ctm/mkCTM/mkctm.c b/usr.sbin/ctm/mkCTM/mkctm.c index 196a51039752..d2c73e20809a 100644 --- a/usr.sbin/ctm/mkCTM/mkctm.c +++ b/usr.sbin/ctm/mkCTM/mkctm.c @@ -218,7 +218,7 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) { u_long l = s2.st_size + 2; u_char *cmd = alloca(strlen(buf1)+strlen(buf2)+100); - u_char *ob = alloca(l), *p; + u_char *ob = malloc(l), *p; int j; FILE *F; @@ -292,6 +292,7 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) s_sub_files++; s_sub_bytes += s2.st_size; } + free(ob); } finish: munmap(p1, s1.st_size);