]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
cytune: check numeric user inputs
authorSami Kerola <kerolasa@iki.fi>
Sun, 25 Sep 2011 20:09:29 +0000 (22:09 +0200)
committerSami Kerola <kerolasa@iki.fi>
Thu, 29 Sep 2011 20:45:27 +0000 (22:45 +0200)
Checks use strtol_or_err() from strutils.h

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
sys-utils/Makefile.am
sys-utils/cytune.c

index 13c79c4dfbca4686fe5d924d982cc944bdb705ba..8059ee66f01d64bd846134dfa0564ac0c596cc7e 100644 (file)
@@ -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
index cb730f32b9d214999e62b1d5ee5acee5b2ed6d02..d9be00ba12f50d3302bdbcb431a8839e23288b3f 100644 (file)
@@ -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;