From 69bb7710eb9bcc73dd0836b9b88228259c9586d3 Mon Sep 17 00:00:00 2001 From: Josuah Demangeon Date: Mon, 2 Apr 2018 02:54:59 +0200 Subject: [PATCH] fix segfault on parsing of -v and -m The length is initially 0 so it needs to be incremented before reallocarray to avoid ...alloc(0); and keep some space for the element to insert. --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 9985d31..5f1c6d9 100644 --- a/main.c +++ b/main.c @@ -166,7 +166,7 @@ main(int argc, char *argv[]) if (!(tok = strdup(EARGF(usage())))) { die("strdup:"); } - if (!(s.vhost = reallocarray(s.vhost, s.vhost_len++, + if (!(s.vhost = reallocarray(s.vhost, ++s.vhost_len, sizeof(struct vhost)))) { die("reallocarray:"); } @@ -182,7 +182,7 @@ main(int argc, char *argv[]) if (!(tok = strdup(EARGF(usage())))) { die("strdup:"); } - if (!(s.map = reallocarray(s.map, s.map_len++, + if (!(s.map = reallocarray(s.map, ++s.map_len, sizeof(struct map)))) { die("reallocarray:"); }