[syslinux] [PATCH 1/3] __progname[] is provided by libc

Ron Lee ron at debian.org
Wed Jul 30 23:59:41 PDT 2014


From: Thorsten Glaser <tg at mirbsd.de>

Rename local variable to tftpd_progname to avoid a clash with glibc
global symbols and work around Debian bug #519006 (Closes: #564052).

Signed-off-by: Ron Lee <ron at debian.org>
---
 tftpd/tftpd.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
index 88d2812..91f5ae1 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 */
@@ -387,9 +387,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());
 
@@ -938,14 +938,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.0.0



More information about the Syslinux mailing list