From 83fe07d3f26aff703230305c9ff529592af32d4f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 15 May 2011 22:13:53 -0400 Subject: [PATCH] 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 --- changes/bug3175 | 7 +++++++ src/common/container.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 changes/bug3175 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); }