hook: detect & emit two more bugs
Trigger a bug when an unknown hook type is encountered while setting up hook execution. Also issue a bug if a configured hook is enabled without a cmd. Mostly useful for defensive coding. Suggested-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adrian Ratiu committed
Mar 25, 2026 at 21:54 UTC
4d10f4a9527e664e001b9747b1daff6681b3f807
1 file changed
+4
hook.c
+4
@@ -409,7 +409,11 @@ static int pick_next_hook(struct child_process *cp,
409
} else if (h->kind == HOOK_CONFIGURED) {
410
/* to enable oneliners, let config-specified hooks run in shell. */
411
cp->use_shell = true;
412
+ if (!h->u.configured.command)
413
+ BUG("non-disabled HOOK_CONFIGURED hook has no command");
414
strvec_push(&cp->args, h->u.configured.command);
415
+ } else {
416
+ BUG("unknown hook kind");
417
}
418
419
if (!cp->args.nr)