commit 7f1f2eb85f5716b6a5632bcefc0c4c0cbb9a515e
parent 49f3642c3fa644bc376ad67e33a8f686c72c7e06
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 16 Nov 2018 16:05:45 +0100
check range of max response size and max timeout parameters
let setsockopt handle the max range of timeout.
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/hurl.c b/hurl.c
@@ -460,6 +460,7 @@ usage(void)
int
main(int argc, char **argv)
{
+ char *end;
int statuscode;
ARGBEGIN {
@@ -467,12 +468,16 @@ main(int argc, char **argv)
config_custom = EARGF(usage());
break;
case 'm': /* max filesize */
- /* TODO: strtonum */
- config_maxresponsesiz = atoll(EARGF(usage()));
+ errno = 0;
+ config_maxresponsesiz = strtoll(EARGF(usage()), &end, 10);
+ if (errno || *end != '\0' || config_maxresponsesiz < 0)
+ usage();
break;
case 't': /* timeout */
- /* TODO: strtonum */
- config_timeout = atoll(EARGF(usage()));
+ errno = 0;
+ config_timeout = strtoll(EARGF(usage()), &end, 10);
+ if (errno || *end != '\0' || config_timeout < 0)
+ usage();
break;
default:
usage();