diff options
author | chip <chip> | 2003-07-25 01:53:03 +0000 |
---|---|---|
committer | chip <chip> | 2003-07-25 01:53:03 +0000 |
commit | 4fa9424a6c71f113d08e2bb1bdc7adab32d6a23a (patch) | |
tree | 99599f7391b7183524ba82b081d924031da1ab03 /support/nfs/xlog.c | |
parent | 319c043ed9ed69cb8f78b8841534dac7c1862466 (diff) | |
download | nfs-utils-4fa9424a6c71f113d08e2bb1bdc7adab32d6a23a.tar.gz nfs-utils-4fa9424a6c71f113d08e2bb1bdc7adab32d6a23a.tar.xz nfs-utils-4fa9424a6c71f113d08e2bb1bdc7adab32d6a23a.zip |
* support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
use Debian security team's cleaner approach.
Diffstat (limited to 'support/nfs/xlog.c')
-rw-r--r-- | support/nfs/xlog.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c index c4e7ea1..b06d12e 100644 --- a/support/nfs/xlog.c +++ b/support/nfs/xlog.c @@ -142,13 +142,11 @@ xlog(int kind, const char *fmt, ...) return; va_start(args, fmt); - vsnprintf(buff, sizeof (buff) - 2, fmt, args); + vsnprintf(buff, sizeof (buff), fmt, args); va_end(args); - buff[sizeof (buff) - 2] = 0; - if ((n = strlen(buff)) > 0 && buff[n-1] != '\n') { - buff[n++] = '\n'; buff[n++] = '\0'; - } + if ((n = strlen(buff)) > 0 && buff[n-1] == '\n') + buff[--n] = '\0'; switch (kind) { case L_FATAL: @@ -180,7 +178,7 @@ xlog(int kind, const char *fmt, ...) tm->tm_year, tm->tm_hour, tm->tm_min, buff); #else - fprintf(log_fp, "%s: %s", log_name, buff); + fprintf(log_fp, "%s: %s\n", log_name, buff); #endif } } |