From de858f60d1cbe45cd24f7b65a89f79a2e86acf08 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Tue, 23 Jan 2024 02:23:12 +0100 Subject: Disallow h// at the start of patterns --- man/grab.1 | 4 ++++ src/grab.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/man/grab.1 b/man/grab.1 index 3521b9f..ab24337 100644 --- a/man/grab.1 +++ b/man/grab.1 @@ -234,6 +234,10 @@ letter, and highlights the capital letter(s): .Pp .Dl x/\ew+/ g/[A\-Z]/ h// +.Pp +The empty +.Sq h +operator is not permitted as the first operator in a pattern. .Sh ENVIRONMENT .Bl -tag -width GRAB_COLORS .It Ev GRAB_COLORS diff --git a/src/grab.c b/src/grab.c index 33943f0..f8f5471 100644 --- a/src/grab.c +++ b/src/grab.c @@ -302,6 +302,8 @@ comppat(char8_t *s) if (s - p == 0) { if (op.c != 'h') diex("Empty regex given to ‘%c’", op.c); + if (ops.len == 0) + diex("Empty ‘h’ is not allowed as the first operator"); op.pat = ops.buf[ops.len - 1].pat; } else op.pat = mkregex(p, s - p); -- cgit v1.2.3