summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorAlex Richardson <arichardson@FreeBSD.org>2020-12-04 15:53:37 +0000
committerAlex Richardson <arichardson@FreeBSD.org>2020-12-04 15:53:37 +0000
commitf7ff7baaf62dd2e7b1f7b00c584cd4b968b4de1d (patch)
tree6eddd71f43098f6dea6067391ef011c00912a4ba /usr.sbin
parentff15f3f1330ebc878bc18cc9ecaa41d21c44aff7 (diff)
downloadsrc-test-f7ff7baaf62dd2e7b1f7b00c584cd4b968b4de1d.tar.gz
src-test-f7ff7baaf62dd2e7b1f7b00c584cd4b968b4de1d.zip
crunchgen: fix NULL-deref bug introduced in r364647
While porting over the local changes from CheriBSD for upstreaming, I accidentally committed a broken version of find_entry_point(): we have to return NULL if the value is not found instead of a value with ep->name == NULL, since the checks in main were changed to check ep instead of ep->name for NULL. This only matters if the crunched tool cannot be found using normal lookup and one of the fallback paths is used, so it's unlikely to be triggered in rescue. However, I noticed that one of our CheriBSD test scripts was failing to run commands under `su` on minimal disk images where all binaries are hardlinks to a `cheribsdbox` tool generated with crunchgen. This also updates the bootstrapping check in Makefile.inc1 to bootstrap crunchgen up to the next version bump. Reviewed By: kevans Differential Revision: https://reviews.freebsd.org/D27474
Notes
Notes: svn path=/head/; revision=368337
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/crunch/crunchgen/crunched_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/crunch/crunchgen/crunched_main.c b/usr.sbin/crunch/crunchgen/crunched_main.c
index 1b9ff17085380..5ce4416a137f4 100644
--- a/usr.sbin/crunch/crunchgen/crunched_main.c
+++ b/usr.sbin/crunch/crunchgen/crunched_main.c
@@ -97,9 +97,9 @@ find_entry_point(const char *basename)
for (ep = entry_points; ep->name != NULL; ep++)
if (!strcmp(basename, ep->name))
- break;
+ return (ep);
- return (ep);
+ return (NULL);
}
static const char *