Don't atoi off the end of a buffer chunk.

Fixes bug 20894; bugfix on 0.2.0.16-alpha.

We already applied a workaround for this as 20834, so no need to
freak out (unless you didn't apply 20384 yet).
This commit is contained in:
Nick Mathewson
2017-02-13 09:39:46 -05:00
parent 4a2afd5b33
commit c4f2faf301
7 changed files with 131 additions and 13 deletions
+13
View File
@@ -712,6 +712,19 @@ tor_strisnonupper(const char *s)
return 1;
}
/** Return true iff every character in <b>s</b> is whitespace space; else
* return false. */
int
tor_strisspace(const char *s)
{
while (*s) {
if (!TOR_ISSPACE(*s))
return 0;
s++;
}
return 1;
}
/** As strcmp, except that either string may be NULL. The NULL string is
* considered to be before any non-NULL string. */
int
+1
View File
@@ -186,6 +186,7 @@ void tor_strlower(char *s) ATTR_NONNULL((1));
void tor_strupper(char *s) ATTR_NONNULL((1));
int tor_strisprint(const char *s) ATTR_NONNULL((1));
int tor_strisnonupper(const char *s) ATTR_NONNULL((1));
int tor_strisspace(const char *s);
int strcmp_opt(const char *s1, const char *s2);
int strcmpstart(const char *s1, const char *s2) ATTR_NONNULL((1,2));
int strcmp_len(const char *s1, const char *s2, size_t len) ATTR_NONNULL((1,2));