aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xplugins/script9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugins/script b/plugins/script
index c81aaa6..f725048 100755
--- a/plugins/script
+++ b/plugins/script
@@ -469,13 +469,16 @@ parse_word (struct tokenizer *self)
struct buffer buf = BUFFER_INITIALIZER;
char c;
- // Here we accept almost anything that doesn't break the grammar...
+ // Here we accept almost anything that doesn't break the grammar
while (!strchr (" []\"", (c = *self->cursor++)) && (unsigned char) c > ' ')
buffer_append_c (&buf, c);
self->cursor--;
- // ...so an empty word can only mean a bug within our caller.
- assert (buf.len != 0);
+ if (!buf.len)
+ {
+ self->error = "invalid input";
+ return NULL;
+ }
struct item *item = new_word (buf.s, buf.len);
free (buf.s);