summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--l10ntools/source/idxdict/idxdict.cxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/l10ntools/source/idxdict/idxdict.cxx b/l10ntools/source/idxdict/idxdict.cxx
index 67811c08ff5a..035296a233d7 100644
--- a/l10ntools/source/idxdict/idxdict.cxx
+++ b/l10ntools/source/idxdict/idxdict.cxx
@@ -7,6 +7,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+#include <cerrno>
#include <iostream>
#include <fstream>
#include <string>
@@ -55,7 +56,16 @@ int main(int argc, char *argv[])
exit(99);
}
currentOffset += strlen(inputBuffer)+1;
- int entryCount(strtol(inputBuffer, NULL, 10));
+ char * endptr;
+ errno = 0;
+ int entryCount(strtol(inputBuffer, &endptr, 10));
+ if (errno != 0 || endptr == inputBuffer || *endptr != '\0')
+ {
+ cerr
+ << "Unable to read count from \"" << inputBuffer
+ << "\" input.\n";
+ exit(99);
+ }
for (int i(0); i < entryCount; ++i)
{
cin.getline(inputBuffer, MAXLINE);