BUG/MINOR: arg: report an error if an argument is larger than bufsize
Commit ef21facd99 ("MEDIUM: arg: make make_arg_list() support quotes
in arguments") removed the chunk_strncpy() to fill the trash buffer
as the input is being parsed, and accidently dropped the jump to the
error path in case the argument is too large, which is now fixed.
No backport is needed, this is for 2.2. This addresses issue #502.
diff --git a/src/arg.c b/src/arg.c
index 3843a9b..dffbb2e 100644
--- a/src/arg.c
+++ b/src/arg.c
@@ -213,6 +213,10 @@
}
trash.data = out - trash.area;
}
+
+ if (len && *in)
+ goto buffer_err;
+
trash.area[trash.data] = 0;
arg->type = (mask >> (pos * ARGT_BITS)) & ARGT_MASK;