diff options
Diffstat (limited to 'plugins')
| -rwxr-xr-x | plugins/script | 9 | 
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);  | 
