From 48e4273e1a0fd7f0480f92350932ec457dbcfe13 Mon Sep 17 00:00:00 2001 From: Marius Halden Date: Fri, 4 Nov 2016 14:42:48 +0100 Subject: atoi() -> strtol() in runfd.c --- runfd.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/runfd.c b/runfd.c index 3a3260e..50eea7f 100644 --- a/runfd.c +++ b/runfd.c @@ -10,18 +10,22 @@ * NOTE: requires fdescfs to be mounted to run interpreted files (starting with #!) */ +#define DEFAULT_FD 3 + char *args[] = { "batchrun", NULL }; int main(int argc, char **argv) { - char buf[2]; + char buf[2], *end = NULL; ssize_t ret; - int tries = 0; - int fd = 3; + int tries = 0, fd = DEFAULT_FD; if (argc > 1) { - fd = atoi(argv[1]); + fd = strtol(argv[1], &end, 10); + + if (end == argv[1]) + errx(1, "Filedescriptor supplied (\"%s\") is not a number", argv[1]); } retry: @@ -36,6 +40,7 @@ retry: } else if (ret == -1) { if (errno == EINTR) goto retry; + err(1, "pread()"); } else if (ret != 0) { goto retry; } -- cgit v1.2.3