From 688b3570867cda3035ec6bcd9c7538cf651f38f6 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 1 Sep 2017 23:37:07 -0400 Subject: [PATCH] vol: Fix two buffers being one char too short Fixes these warnings: namei_ops.c: In function 'namei_copy_on_write': namei_ops.c:1328:31: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=] snprintf(path, sizeof(path), "%s-tmp", name.n_path); ^~~~~~~~ namei_ops.c:1328:2: note: 'snprintf' output between 5 and 260 bytes into a destination of size 259 snprintf(path, sizeof(path), "%s-tmp", name.n_path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vol_split.c: In function 'split_volume': vol_split.c:576:22: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] sprintf(symlink, "#%s", V_name(newvol)); ^~~~~ vol_split.c:576:5: note: 'sprintf' output between 2 and 33 bytes into a destination of size 32 sprintf(symlink, "#%s", V_name(newvol)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reviewed-on: https://gerrit.openafs.org/12722 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit 0a9a6b57ce6e1c97fcc651c8cb74e66fc8422a1e) Change-Id: Ia60439aed7925b786a0213d96a7afb413579e01f Reviewed-on: https://gerrit.openafs.org/12723 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk --- src/vol/namei_ops.c | 2 +- src/volser/vol_split.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vol/namei_ops.c b/src/vol/namei_ops.c index 19aea95d6..aee57a3c3 100644 --- a/src/vol/namei_ops.c +++ b/src/vol/namei_ops.c @@ -1317,7 +1317,7 @@ namei_copy_on_write(IHandle_t *h) if (afs_stat(name.n_path, &tstat) < 0) return EIO; if (tstat.st_nlink > 1) { /* do a copy on write */ - char path[259]; + char path[NAMEI_PATH_LEN + 4]; char *buf; afs_size_t size; ssize_t tlen; diff --git a/src/volser/vol_split.c b/src/volser/vol_split.c index 29f564668..fa42a7ca2 100644 --- a/src/volser/vol_split.c +++ b/src/volser/vol_split.c @@ -518,7 +518,7 @@ createMountpoint(Volume *vol, Volume *newvol, struct VnodeDiskObject *parent, AFSFid fid; struct timeval now; afs_uint32 newvN; - char symlink[32]; + char symlink[VNAMESIZE + 1]; ssize_t rc; FT_GetTimeOfDay(&now, 0); -- 2.39.5