Handle unexpected whitespace better in malformed descriptors. Bug

found using Benedikt Boss's new Tor fuzzer! Bugfix on 0.2.0.x.


svn:r11229
This commit is contained in:
Roger Dingledine 2007-08-20 20:05:56 +00:00
parent 4ff3343e98
commit 05f12bffe9
2 changed files with 8 additions and 4 deletions

View File

@ -1,4 +1,8 @@
Changes in version 0.2.0.6-alpha - 2007-??-??
o Major bugfixes:
- Handle unexpected whitespace better in malformed descriptors. Bug
found using Benedikt Boss's new Tor fuzzer! Bugfix on 0.2.0.x.
o Minor bugfixes (bridges):
- Do not intermix bridge routers with controller-added routers. (Bugfix
on 0.2.0.x)

View File

@ -534,12 +534,12 @@ eat_whitespace_eos(const char *s, const char *eos)
return s;
}
/** Return a pointer to the first char of s that is not a space or a tab,
* or to the terminating NUL if no such character exists. */
/** Return a pointer to the first char of s that is not a space or a tab
* or a \\r, or to the terminating NUL if no such character exists. */
const char *
eat_whitespace_no_nl(const char *s)
{
while (*s == ' ' || *s == '\t')
while (*s == ' ' || *s == '\t' || *s == '\r')
++s;
return s;
}
@ -549,7 +549,7 @@ eat_whitespace_no_nl(const char *s)
const char *
eat_whitespace_eos_no_nl(const char *s, const char *eos)
{
while (s < eos && (*s == ' ' || *s == '\t'))
while (s < eos && (*s == ' ' || *s == '\t' || *s == '\r'))
++s;
return s;
}