1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-07 16:59:22 +00:00

inetutils: Fix abort on invalid files

When the code is compiled with  "-fstack-protector-strong
-D_FORTIFY_SOURCE=2", everytime ftpfd is asked for a non existent file,
it crashes with the following error:

*** buffer overflow detected ***:
Aborted

This seems to be a bug/feature of gcc. A bug has been open on their
bugzilla, and also inetutils have been posted with the proposed patch.

Without this patch, pxelinux fails to boot because it keeps asking the
server for the pxelinux.cfg/00-01-02-03-04 and never jumps to /default.

(From OE-Core rev: 0c3a1251a8aec86f3e877130f926a928e5ca2030)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ricardo Ribalda Delgado
2019-08-07 09:17:44 +02:00
committed by Richard Purdie
parent 54c7db0105
commit 5f1bfba262
2 changed files with 26 additions and 0 deletions
@@ -0,0 +1,25 @@
tftpd: Fix abort on error path
When trying to fetch a non existent file, the app crashes with:
*** buffer overflow detected ***:
Aborted
Upstream-Status: Submitted [https://www.mail-archive.com/bug-inetutils@gnu.org/msg03036.html https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91205]
Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
diff --git a/src/tftpd.c b/src/tftpd.c
index 56002a0..144012f 100644
--- a/src/tftpd.c
+++ b/src/tftpd.c
@@ -864,9 +864,8 @@ nak (int error)
pe->e_msg = strerror (error - 100);
tp->th_code = EUNDEF; /* set 'undef' errorcode */
}
- strcpy (tp->th_msg, pe->e_msg);
length = strlen (pe->e_msg);
- tp->th_msg[length] = '\0';
+ memcpy(tp->th_msg, pe->e_msg, length + 1);
length += 5;
if (sendto (peer, buf, length, 0, (struct sockaddr *) &from, fromlen) != length)
syslog (LOG_ERR, "nak: %m\n");
@@ -22,6 +22,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
file://inetutils-1.9-PATH_PROCNET_DEV.patch \
file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
file://0001-rcp-fix-to-work-with-large-files.patch \
file://fix-buffer-fortify-tfpt.patch \
"
SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52"