[Libreoffice-commits] core.git: l10ntools/source
Stephan Bergmann
sbergman at redhat.com
Tue May 28 05:32:27 PDT 2013
l10ntools/source/idxdict/idxdict.cxx | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
New commits:
commit 788a38fd32389ba73d5db2b38920768f4af24fb5
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue May 28 12:58:39 2013 +0200
Better verification of bad idxdict input
...see dictionaries comits df423c53829faa96f46acd71887fd0f8697c49e9
"fix Lithuanian thesaurus" and 9b6407dadc64e10e7117d8551917b46105ecc6c8
"Fix more thesauri."
Change-Id: I6ddc41fce4e3f68d80d05af3320c835b98908fcb
diff --git a/l10ntools/source/idxdict/idxdict.cxx b/l10ntools/source/idxdict/idxdict.cxx
index 67811c0..035296a 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);
More information about the Libreoffice-commits
mailing list