From 2f172e3227890d7748adcb1875a663022c3c1c02 Mon Sep 17 00:00:00 2001 From: Karol Babioch Date: Thu, 17 May 2018 16:21:33 +0200 Subject: [PATCH] ykpamcfg.c: Check also for negative return code of snprintf() --- ykpamcfg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ykpamcfg.c b/ykpamcfg.c index 6b93463..7da818b 100644 --- a/ykpamcfg.c +++ b/ykpamcfg.c @@ -95,6 +95,7 @@ parse_args(int argc, char **argv, unsigned int *iterations) { int c; + int i; while((c = getopt(argc, argv, optstring)) != -1) { switch (c) { @@ -105,7 +106,8 @@ parse_args(int argc, char **argv, *slot = 2; break; case 'A': - if (snprintf(*action, ACTION_MAX_LEN, "%s", optarg) >= ACTION_MAX_LEN) { + i = snprintf(*action, ACTION_MAX_LEN, "%s", optarg); + if (i < 0 || i >= ACTION_MAX_LEN) { fprintf(stderr, "action too long: %s\n", optarg); exit(1); }