From: Sami Kerola Date: Sun, 25 Sep 2011 20:09:29 +0000 (+0200) Subject: cytune: check numeric user inputs X-Git-Tag: v2.21-rc1~356^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29d2e044e7766b9ecb323522c6551d0f78d9d539;p=thirdparty%2Futil-linux.git cytune: check numeric user inputs Checks use strtol_or_err() from strutils.h Signed-off-by: Sami Kerola --- diff --git a/sys-utils/Makefile.am b/sys-utils/Makefile.am index 13c79c4dfb..8059ee66f0 100644 --- a/sys-utils/Makefile.am +++ b/sys-utils/Makefile.am @@ -33,7 +33,7 @@ endif endif -cytune_SOURCES = cytune.c cyclades.h +cytune_SOURCES = cytune.c cyclades.h $(top_srcdir)/lib/strutils.c tunelp_SOURCES = tunelp.c lp.h fstrim_SOURCES = fstrim.c $(top_srcdir)/lib/strutils.c rtcwake_SOURCES = rtcwake.c $(top_srcdir)/lib/strutils.c diff --git a/sys-utils/cytune.c b/sys-utils/cytune.c index cb730f32b9..d9be00ba12 100644 --- a/sys-utils/cytune.c +++ b/sys-utils/cytune.c @@ -55,6 +55,7 @@ #include "c.h" #include "cyclades.h" +#include "strutils.h" #if 0 #ifndef XMIT @@ -218,41 +219,41 @@ int main(int argc, char *argv[]) { query = 1; break; case 'i': - interval = atoi(optarg); + interval = (int) strtoul_or_err(optarg, _("Invalid interval value")); if(interval <= 0) { - fprintf(stderr, _("Invalid interval value: %s\n"),optarg); + warnx( _("Invalid interval value: %d"),interval); errflg ++; } break; case 's': ++set; - set_val = atoi(optarg); + set_val = (int) strtoul_or_err(optarg, _("Invalid set value")); if(set_val <= 0 || set_val > 12) { - fprintf(stderr, _("Invalid set value: %s\n"),optarg); + warnx(_("Invalid set value: %d"),set_val); errflg ++; } break; case 'S': ++set_def; - set_def_val = atoi(optarg); + set_def_val = (int) strtoul_or_err(optarg, _("Invalid default value")); if(set_def_val < 0 || set_def_val > 12) { - fprintf(stderr, _("Invalid default value: %s\n"),optarg); + warnx(_("Invalid default value: %d"),set_def_val); errflg ++; } break; case 't': ++set_time; - set_time_val = atoi(optarg); + set_time_val = (int) strtoul_or_err(optarg, _("Invalid set time value")); if(set_time_val <= 0 || set_time_val > 255) { - fprintf(stderr, _("Invalid set time value: %s\n"),optarg); + warnx(_("Invalid set time value: %d"),set_time_val); errflg ++; } break; case 'T': ++set_def_time; - set_def_time_val = atoi(optarg); + set_def_time_val = (int) strtoul_or_err(optarg, _("Invalid default time value")); if(set_def_time_val < 0 || set_def_time_val > 255) { - fprintf(stderr, _("Invalid default time value: %s\n"),optarg); + warnx(_("Invalid default time value: %d"), set_def_time_val); errflg ++; } break;