summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-05-15 22:13:53 -0400
committerNick Mathewson <nickm@torproject.org>2011-05-15 22:13:53 -0400
commit83fe07d3f26aff703230305c9ff529592af32d4f (patch)
tree0a1922d9cc2258b686dc2d73b48491b6767b5390
parentede102fd4675af8ac4060767f0348f3c93617e80 (diff)
downloadtor-83fe07d3f26aff703230305c9ff529592af32d4f.tar.gz
tor-83fe07d3f26aff703230305c9ff529592af32d4f.zip
Increase the length of the buffer in smartlist_string_num_isin().
This was harmless, since we only used this for checking for lists of port values, but it's the principle of the thing. Fixes 3175; bugfix on 0.1.0.1-rc
-rw-r--r--changes/bug31757
-rw-r--r--src/common/container.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/changes/bug3175 b/changes/bug3175
new file mode 100644
index 0000000000..3360fbce00
--- /dev/null
+++ b/changes/bug3175
@@ -0,0 +1,7 @@
+ o Minor bugfixes:
+ - Resolve an untriggerable issue in smartlist_string_num_isin(),
+ where if the function had ever in the future been used to check
+ for the presence of a too-large number, it would have given an
+ incorrect result. (Fortunately, we only used it for 16-bit
+ values.) Fixes bug 3175; bugfix on Tor 0.1.0.1-rc.
+
diff --git a/src/common/container.c b/src/common/container.c
index ca49cbb170..da44b7fe68 100644
--- a/src/common/container.c
+++ b/src/common/container.c
@@ -210,7 +210,7 @@ smartlist_string_isin_case(const smartlist_t *sl, const char *element)
int
smartlist_string_num_isin(const smartlist_t *sl, int num)
{
- char buf[16];
+ char buf[32]; /* long enough for 64-bit int, and then some. */
tor_snprintf(buf,sizeof(buf),"%d", num);
return smartlist_string_isin(sl, buf);
}