From 47783a51d51a6f07c743a28f0ebe50a05a5c1002 Mon Sep 17 00:00:00 2001 From: Michael Larson Date: Mon, 29 Nov 2010 13:19:29 -0800 Subject: add limit check on stdout capture (8192 characters). --- src/cli_new.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cli_new.c b/src/cli_new.c index 9576047..f3cfa3a 100644 --- a/src/cli_new.c +++ b/src/cli_new.c @@ -2570,9 +2570,11 @@ system_out(const char *cmd, const char **outbuf) char buf[8192]; memset(buf,'\0',8192); close(cp[1]); - while (read(cp[0], &buf, 8192) > 0) { + int ct = 0, total = 0; + while ((ct = read(cp[0], &buf, 8192)) > 0 && (total < 8192)) { strcat((char*)*outbuf,buf); memset(buf,'\0',8192); + total += ct; } //now wait on child to kick the bucket -- cgit v1.2.3