[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r11229: Handle unexpected whitespace better in malformed descriptors (in tor/trunk: . src/common)
Author: arma
Date: 2007-08-20 16:05:56 -0400 (Mon, 20 Aug 2007)
New Revision: 11229
Modified:
tor/trunk/ChangeLog
tor/trunk/src/common/util.c
Log:
Handle unexpected whitespace better in malformed descriptors. Bug
found using Benedikt Boss's new Tor fuzzer! Bugfix on 0.2.0.x.
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2007-08-20 18:29:17 UTC (rev 11228)
+++ tor/trunk/ChangeLog 2007-08-20 20:05:56 UTC (rev 11229)
@@ -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)
Modified: tor/trunk/src/common/util.c
===================================================================
--- tor/trunk/src/common/util.c 2007-08-20 18:29:17 UTC (rev 11228)
+++ tor/trunk/src/common/util.c 2007-08-20 20:05:56 UTC (rev 11229)
@@ -534,12 +534,12 @@
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 @@
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;
}