* strings.c (main): New variable `s'. Have string_min parsing
authorJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 26 Nov 2008 14:24:35 +0000 (14:24 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 26 Nov 2008 14:24:35 +0000 (14:24 +0000)
call fatal for invalid input strings.

binutils/ChangeLog
binutils/strings.c

index c817fc9a9df6daa1299d5a69131fbe53a0997c45..7d0c9a463923789d7291d2de327562b579876033 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * strings.c (main): New variable `s'.  Have string_min parsing
+       call fatal for invalid input strings.
+
 2008-11-25  Nick Clifton  <nickc@redhat.com>
 
        PR7044
index 8a0f01192c1aea87a33e02a6c93f0b90f7ec94a7..30d27490379124d286d04fa54e4c161653fab175 100644 (file)
@@ -155,6 +155,7 @@ main (int argc, char **argv)
   int optc;
   int exit_status = 0;
   bfd_boolean files_given = FALSE;
+  char *s;
 
 #if defined (HAVE_SETLOCALE)
   setlocale (LC_ALL, "");
@@ -192,7 +193,9 @@ main (int argc, char **argv)
          usage (stdout, 0);
 
        case 'n':
-         string_min = (int) strtoul (optarg, NULL, 0);
+         string_min = (int) strtoul (optarg, &s, 0);
+         if (s != NULL && *s != 0)
+           fatal (_("invalid integer argument %s"), optarg);
          break;
 
        case 'o':
@@ -242,7 +245,9 @@ main (int argc, char **argv)
          usage (stderr, 1);
 
        default:
-         string_min = (int) strtoul (argv[optind - 1] + 1, NULL, 0);
+         string_min = (int) strtoul (argv[optind - 1] + 1, &s, 0);
+         if (s != NULL && *s != 0)
+           fatal (_("invalid integer argument %s"), argv[optind - 1] + 1);
          break;
        }
     }