From f99f51ca87fd8703947df985901cbce37bc6c818 Mon Sep 17 00:00:00 2001 From: Kinglong Mee Date: Thu, 3 Jan 2019 17:07:27 +0800 Subject: glfs-fops.c: fix the bad string length for snprintf Snprintf reserves one byte for the ending '\0'. A NAME_MAX bytes d_name is truncated to NAME_MAX - 1 bytes. Change-Id: Ic884d18cee24360e55ddb896dc587b0b74ef97fe updates: bz#1193929 Signed-off-by: Kinglong Mee --- api/src/glfs-fops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'api') diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index 03a15e6913c..272e75c818c 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -3413,7 +3413,7 @@ gf_dirent_to_dirent(gf_dirent_t *gf_dirent, struct dirent *dirent) dirent->d_namlen = strlen(gf_dirent->d_name); #endif - snprintf(dirent->d_name, NAME_MAX, "%s", gf_dirent->d_name); + snprintf(dirent->d_name, NAME_MAX + 1, "%s", gf_dirent->d_name); } int @@ -4904,7 +4904,7 @@ retry: goto out; if (loc.path) { - snprintf(retpath, PATH_MAX, "%s", loc.path); + snprintf(retpath, PATH_MAX + 1, "%s", loc.path); } out: -- cgit