mirror of
https://git.yoctoproject.org/poky
synced 2026-04-22 15:32:14 +02:00
nfs-utils: fix a Gcc undefined behavior
Calling strncpy with NULL second argument, even when the size is 0, is undefined behavior, which leads to GCC to drop the check old variable with NULL in following code. https://bugzilla.yoctoproject.org/show_bug.cgi?id=6743 (From OE-Core rev: af56e7559d31cb9cb84b85a7dedd8e12cf1f06cd) Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
[PATCH] fix a Gcc undefined behavior
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Calling strncpy with NULL second argument, even when the size is 0,
|
||||
is undefined behavior, which leads to GCC to drop the check old
|
||||
variable with NULL in following code.
|
||||
|
||||
https://bugzilla.yoctoproject.org/show_bug.cgi?id=6743
|
||||
|
||||
Signed-off-by: Roy Li <rongqing.li@windriver.com>
|
||||
---
|
||||
support/export/client.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/support/export/client.c b/support/export/client.c
|
||||
index dbf47b9..a37ef69 100644
|
||||
--- a/support/export/client.c
|
||||
+++ b/support/export/client.c
|
||||
@@ -482,8 +482,13 @@ add_name(char *old, const char *add)
|
||||
else
|
||||
cp = cp + strlen(cp);
|
||||
}
|
||||
- strncpy(new, old, cp-old);
|
||||
- new[cp-old] = 0;
|
||||
+
|
||||
+ if (old) {
|
||||
+ strncpy(new, old, cp-old);
|
||||
+ new[cp-old] = 0;
|
||||
+ } else
|
||||
+ new[0] = 0;
|
||||
+
|
||||
if (cp != old && !*cp)
|
||||
strcat(new, ",");
|
||||
strcat(new, add);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -31,6 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
|
||||
file://nfs-statd.service \
|
||||
file://nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch \
|
||||
file://0001-statd-fixed-the-with-statdpath-flag.patch \
|
||||
file://fix-a-Gcc-undefined-behavior.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "6e93a7997ca3a1eac56bf219adab72a8"
|
||||
|
||||
Reference in New Issue
Block a user