summaryrefslogtreecommitdiff
path: root/changes/bug10363
AgeCommit message (Collapse)Author
2014-04-08Start work on the changelog for 0.2.5.4-alphaNick Mathewson
This commit does nothing other than pull the changes/* files into ChangeLog, sorted by declared type. I haven't comined any entries or vetted anything yet.
2014-04-07Another 10363 instance -- this one in the eventdns.c codeNick Mathewson
2014-04-07Another 10363 instance: this one in tor_memmem fallback codeNick Mathewson
2014-04-07Fix undefined behavior with pointer addition in channeltls.cNick Mathewson
In C, it's a bad idea to do this: char *cp = array; char *end = array + array_len; /* .... */ if (cp + 3 >= end) { /* out of bounds */ } because cp+3 might be more than one off the end of the array, and you are only allowed to construct pointers to the array elements, and to an element one past the end. Instead you have to say if (cp - array + 3 >= array_len) { /* ... */ } or something like that. This patch fixes two of these: one in process_versions_cell introduced in 0.2.0.10-alpha, and one in process_certs_cell introduced in 0.2.3.6-alpha. These are both tracked under bug 10363. "bobnomnom" found and reported both. See also 10313. In our code, this is likely to be a problem as we used it only if we get a nasty allocator that makes allocations end close to (void*)-1. But it's best not to have to worry about such things at all, so let's just fix all of these we can find.