From 30265b4adbf6e5ce8ce37bc2377ce42342ccf594 Mon Sep 17 00:00:00 2001 From: mckay Date: Mon, 26 Jan 2004 04:27:22 +0000 Subject: 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(-) (limited to 'usr.sbin/ctm/mkCTM') diff --git a/usr.sbin/ctm/mkCTM/mkctm.c b/usr.sbin/ctm/mkCTM/mkctm.c index 196a510..d2c73e2 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); -- cgit v1.1