diff options
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch')
-rw-r--r-- | meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch b/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch new file mode 100644 index 000000000..cead977e2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch @@ -0,0 +1,62 @@ +From 941038fc05be21202cab7a7a9434097fb55ecbe0 Mon Sep 17 00:00:00 2001 +From: Thorsten Glaser <tg@mirbsd.de> +Date: Thu, 31 Jul 2014 16:29:41 +0930 +Subject: [PATCH] __progname[] is provided by libc + +Rename local variable to tftpd_progname to avoid a clash with glibc +global symbols and work around Debian bug #519006 (Closes: #564052). + +[ hpa: specifically, double-underscore symbols in C are reserved for + the implementation, i.e. compiler/libc. ] + +Signed-off-by: Ron Lee <ron@debian.org> +Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> +--- + tftpd/tftpd.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c +index e247b97..5fec7bf 100644 +--- a/tftpd/tftpd.c ++++ b/tftpd/tftpd.c +@@ -76,7 +76,7 @@ static int ai_fam = AF_INET; + #define TRIES 6 /* Number of attempts to send each packet */ + #define TIMEOUT_LIMIT ((1 << TRIES)-1) + +-const char *__progname; ++const char *tftpd_progname; + static int peer; + static unsigned long timeout = TIMEOUT; /* Current timeout value */ + static unsigned long rexmtval = TIMEOUT; /* Basic timeout value */ +@@ -395,9 +395,9 @@ int main(int argc, char **argv) + /* basename() is way too much of a pain from a portability standpoint */ + + p = strrchr(argv[0], '/'); +- __progname = (p && p[1]) ? p + 1 : argv[0]; ++ tftpd_progname = (p && p[1]) ? p + 1 : argv[0]; + +- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); ++ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + + srand(time(NULL) ^ getpid()); + +@@ -946,14 +946,14 @@ int main(int argc, char **argv) + syslog daemon gets restarted by the time we get here. */ + if (secure && standalone) { + closelog(); +- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); ++ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + } + + #ifdef HAVE_TCPWRAPPERS + /* Verify if this was a legal request for us. This has to be + done before the chroot, while /etc is still accessible. */ + request_init(&wrap_request, +- RQ_DAEMON, __progname, ++ RQ_DAEMON, tftpd_progname, + RQ_FILE, fd, + RQ_CLIENT_SIN, &from, RQ_SERVER_SIN, &myaddr, 0); + sock_methods(&wrap_request); +-- +2.14.1 + |