From: Wilfried Goesgens Date: Thu, 10 Mar 2011 20:48:15 +0000 (+0100) Subject: fix possible buffer underrun by 1 X-Git-Tag: v8.11~831 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=04b8d4690df9fc46871c51404be53432a8e1c278 fix possible buffer underrun by 1 --- diff --git a/citadel/control.c b/citadel/control.c index 242cac816..2e5bf43c8 100644 --- a/citadel/control.c +++ b/citadel/control.c @@ -686,9 +686,12 @@ void cmd_conf(char *argbuf) extract_token(confname, argbuf, 1, '|', sizeof confname); confptr = CtdlGetSysConfig(confname); if (confptr != NULL) { + long len; + + len = strlen(confptr); cprintf("%d %s\n", LISTING_FOLLOWS, confname); - client_write(confptr, strlen(confptr)); - if (confptr[strlen(confptr) - 1] != 10) + client_write(confptr, len); + if ((len > 0) && (confptr[len - 1] != 10)) client_write("\n", 1); cprintf("000\n"); free(confptr);