aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/strings.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c817fc9..7d0c9a4 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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
diff --git a/binutils/strings.c b/binutils/strings.c
index 8a0f011..30d2749 100644
--- a/binutils/strings.c
+++ b/binutils/strings.c
@@ -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;
}
}