summaryrefslogtreecommitdiffstats
path: root/support/nfs/xlog.c
diff options
context:
space:
mode:
authorchip <chip>2003-07-25 01:53:03 +0000
committerchip <chip>2003-07-25 01:53:03 +0000
commit4fa9424a6c71f113d08e2bb1bdc7adab32d6a23a (patch)
tree99599f7391b7183524ba82b081d924031da1ab03 /support/nfs/xlog.c
parent319c043ed9ed69cb8f78b8841534dac7c1862466 (diff)
downloadnfs-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.c10
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
}
}