Module Name: src
Committed By: mrg
Date: Thu Aug 3 08:03:19 UTC 2023
Modified Files:
src/external/bsd/libevent/dist: event.c
src/usr.bin/rdist: expand.c
src/usr.sbin/powerd: powerd.c
Log Message:
avoid having addresses of local variable exist after a function returns.
found by GCC 12.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/libevent/dist/event.c
cvs rdiff -u -r1.18 -r1.19 src/usr.bin/rdist/expand.c
cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/powerd/powerd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/libevent/dist/event.c
diff -u src/external/bsd/libevent/dist/event.c:1.5 src/external/bsd/libevent/dist/event.c:1.6
--- src/external/bsd/libevent/dist/event.c:1.5 Wed Apr 7 03:36:48 2021
+++ src/external/bsd/libevent/dist/event.c Thu Aug 3 08:03:19 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: event.c,v 1.5 2021/04/07 03:36:48 christos Exp $ */
+/* $NetBSD: event.c,v 1.6 2023/08/03 08:03:19 mrg Exp $ */
/*
* Copyright (c) 2000-2007 Niels Provos <[email protected]>
@@ -28,7 +28,7 @@
*/
#include "event2/event-config.h"
#include <sys/cdefs.h>
-__RCSID("$NetBSD: event.c,v 1.5 2021/04/07 03:36:48 christos Exp $");
+__RCSID("$NetBSD: event.c,v 1.6 2023/08/03 08:03:19 mrg Exp $");
#include "evconfig-private.h"
#ifdef _WIN32
@@ -1382,6 +1382,7 @@ event_signal_closure(struct event_base *
return;
}
}
+ ev->ev_pncalls = NULL;
}
/* Common timeouts are special timeouts that are handled as queues rather than
Index: src/usr.bin/rdist/expand.c
diff -u src/usr.bin/rdist/expand.c:1.18 src/usr.bin/rdist/expand.c:1.19
--- src/usr.bin/rdist/expand.c:1.18 Tue Jul 14 21:05:34 2009
+++ src/usr.bin/rdist/expand.c Thu Aug 3 08:03:19 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: expand.c,v 1.18 2009/07/14 21:05:34 apb Exp $ */
+/* $NetBSD: expand.c,v 1.19 2023/08/03 08:03:19 mrg Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)expand.c 8.1 (Berkeley) 6/9/93";
#else
-__RCSID("$NetBSD: expand.c,v 1.18 2009/07/14 21:05:34 apb Exp $");
+__RCSID("$NetBSD: expand.c,v 1.19 2023/08/03 08:03:19 mrg Exp $");
#endif
#endif /* not lint */
@@ -141,6 +141,10 @@ expand(struct namelist *list, int wh)
printf("expanded list = ");
prnames(list);
}
+ sortbase = NULL;
+ eargv = NULL;
+ path = tpathp = pathp = NULL;
+ lastpathp = NULL;
return(list);
}
Index: src/usr.sbin/powerd/powerd.c
diff -u src/usr.sbin/powerd/powerd.c:1.20 src/usr.sbin/powerd/powerd.c:1.21
--- src/usr.sbin/powerd/powerd.c:1.20 Mon Oct 12 16:54:43 2020
+++ src/usr.sbin/powerd/powerd.c Thu Aug 3 08:03:19 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: powerd.c,v 1.20 2020/10/12 16:54:43 roy Exp $ */
+/* $NetBSD: powerd.c,v 1.21 2023/08/03 08:03:19 mrg Exp $ */
/*
* Copyright (c) 2003 Wasabi Systems, Inc.
@@ -189,6 +189,7 @@ run_script(const char *argv[])
if (access(path, R_OK|X_OK) == 0) {
int status;
pid_t pid;
+ const char *orig_argv0 = argv[0];
argv[0] = path;
@@ -199,13 +200,16 @@ run_script(const char *argv[])
(void)fprintf(stderr, " %s", argv[j]);
(void)fprintf(stderr, "\n");
}
- if (no_scripts != 0)
+ if (no_scripts != 0) {
+ argv[0] = orig_argv0;
return;
+ }
switch ((pid = vfork())) {
case -1:
powerd_log(LOG_ERR, "fork to run script: %s",
strerror(errno));
+ argv[0] = orig_argv0;
return;
case 0:
@@ -233,6 +237,7 @@ run_script(const char *argv[])
}
break;
}
+ argv[0] = orig_argv0;
return;
}