Date: Fri, 4 Dec 2020 15:53:38 +0000 (UTC) From: Alex Richardson <arichardson@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r368337 - in head: . usr.sbin/crunch/crunchgen Message-ID: <202012041553.0B4Frcou066369@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: arichardson Date: Fri Dec 4 15:53:37 2020 New Revision: 368337 URL: https://svnweb.freebsd.org/changeset/base/368337 Log: 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 Modified: head/Makefile.inc1 head/usr.sbin/crunch/crunchgen/crunched_main.c Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Dec 4 15:50:44 2020 (r368336) +++ head/Makefile.inc1 Fri Dec 4 15:53:37 2020 (r368337) @@ -2270,7 +2270,7 @@ _bootstrap_tools_links+=crunchide # 1300115: Higher WARNS fixes .if ${BOOTSTRAPPING} < 1202502 || \ - (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300115) + (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300131) _crunchgen= usr.sbin/crunch/crunchgen .else _bootstrap_tools_links+=crunchgen Modified: head/usr.sbin/crunch/crunchgen/crunched_main.c ============================================================================== --- head/usr.sbin/crunch/crunchgen/crunched_main.c Fri Dec 4 15:50:44 2020 (r368336) +++ head/usr.sbin/crunch/crunchgen/crunched_main.c Fri Dec 4 15:53:37 2020 (r368337) @@ -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 *
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012041553.0B4Frcou066369>