Andrea Shepard
5a07fb96f2
Make tor_libevent_get_base() mockable
2014-09-30 23:14:25 -07:00
Andrea Shepard
d438cf1ec9
Implement scheduler mechanism to track lists of channels wanting cells or writes; doesn't actually drive the cell flow from it yet
2014-09-30 22:48:24 -07:00
Nick Mathewson
53a94c4b4b
Clear up another clangalyzer issue
...
"The NULL pointer warnings on the return value of
tor_addr_to_in6_addr32() are incorrect. But clang can't work this
out itself due to limited analysis depth. To teach the analyser that
the return value is safe to dereference, I applied tor_assert to the
return value."
Patch from teor. Part of 13157.
2014-09-15 13:52:13 -04:00
Nick Mathewson
48558ed1aa
Merge remote-tracking branch 'public/bug13104_025'
2014-09-11 00:11:26 -04:00
Nick Mathewson
284cc9a224
Avoid an overflow on negation in format_helper_exit_status
...
Part of 13104; patch from teor.
2014-09-11 00:00:13 -04:00
Nick Mathewson
d2463c0cfe
Avoid overflows and underflows in sscanf and friends
...
(Patch from teor on 13104)
2014-09-10 23:57:31 -04:00
George Kadianakis
01800ea1e4
Add unittests for finding the third quartile of a set.
2014-09-09 12:28:15 -04:00
Nick Mathewson
1eea7a68ed
Use S?SIZE_MAX, not S?SIZE_T_MAX
...
This fixes bug 13102 (not on any released Tor) where using the
standard SSIZE_MAX name broke mingw64, and we didn't realize.
I did this with
perl -i -pe 's/SIZE_T_MAX/SIZE_MAX/' src/*/*.[ch] src/*/*/*.[ch]
2014-09-09 12:08:03 -04:00
Nick Mathewson
2997908228
Merge remote-tracking branch 'origin/maint-0.2.5'
2014-09-09 10:27:41 -04:00
Nick Mathewson
8391c96091
Clean up the MVSC nmake files so they work again.
...
Fixes bug 13081; bugfix on 0.2.5.1-alpha. Patch from "NewEraCracker."
2014-09-09 10:27:05 -04:00
Nick Mathewson
a14c6cb70f
Make iter for DECLARE_TYPED_DIGESTMAP_FNS be a pointer.
...
This fixes a clangalyzer warning, and makes our C slightly better C.
2014-09-02 15:40:04 -04:00
Nick Mathewson
9b850f9200
Add more assertions to esc_for_log to please the clangalyzer.
2014-09-02 13:29:45 -04:00
Nick Mathewson
07a16b3372
Add an assertion to read_file_to_str_until_eof
...
The clangalyzer doesn't believe our math here. I'm pretty sure our
math is right. Also, add some unit tests.
2014-09-02 13:29:11 -04:00
Nick Mathewson
1a2f2c163f
Explicitly initialize addresses in tor_ersatz_socketpair
...
This should stop a false positive from the clangalyzer.
2014-09-02 12:58:32 -04:00
Nick Mathewson
57c48bf734
Apply the MALLOC_ZERO_WORKS fixup to tor_realloc as well.
...
Also, make MALLOC_ZERO_WORKS never get applied when clang analyzer is
running. This should make the clangalyzer a little happier.
2014-09-02 12:55:20 -04:00
Nick Mathewson
00ffccd9a6
Another clang analyzer complaint wrt HT_GENERATE
...
We're calling mallocfn() and reallocfn() in the HT_GENERATE macro
with the result of a product. But that makes any sane analyzer
worry about overflow.
This patch keeps HT_GENERATE having its old semantics, since we
aren't the only project using ht.h. Instead, define a HT_GENERATE2
that takes a reallocarrayfn.
2014-09-02 12:48:34 -04:00
Nick Mathewson
e3c143f521
Merge remote-tracking branch 'origin/maint-0.2.5'
2014-09-02 11:58:08 -04:00
Nick Mathewson
efcab43956
Fix a number of clang analyzer false-positives
...
Most of these are in somewhat non-obvious code where it is probably
a good idea to initialize variables and add extra assertions anyway.
Closes 13036. Patches from "teor".
2014-09-02 11:56:56 -04:00
dana koch
c887e20e6a
Introduce full coverage tests for module routerset.c.
...
This is using the paradigm introduced for test_status.c.
2014-08-29 12:55:28 -04:00
Nick Mathewson
72ba1739e2
Fix another memory leak case in sandbox.c:prot_strings()
...
This is related to the rest of 523587a5cf
2014-08-25 11:14:31 -04:00
Nick Mathewson
9222707e5c
Use the ARRAY_LENGTH macro more consistently.
2014-08-24 13:35:48 -04:00
Nick Mathewson
15be51b41d
Remove the non-implemented versions of the sandbox _array() functions
2014-08-24 13:35:30 -04:00
Nick Mathewson
991545acf1
Whitespace fixes
2014-08-24 13:32:39 -04:00
Nick Mathewson
7c1143e11f
Terser ways to sandbox-allow related filenames
...
Using the *_array() functions here confused coverity, and was actually
a bit longer than we needed. Now we just use macros for the repeated
bits, so that we can mention a file and a suffix-appended version in
one line.
2014-08-24 13:30:55 -04:00
Nick Mathewson
59e114832e
Merge branch 'bug11792_1_squashed'
...
Conflicts:
src/or/circuitlist.c
2014-08-24 13:09:08 -04:00
Nick Mathewson
8e55cafd67
Count zlib buffer memory towards OOM totals.
...
Part of 11792.
(Uses the zlib-endorsed formula for memory needs for inflate/deflate
from "zconf.h".)
2014-08-24 13:04:27 -04:00
Nick Mathewson
523587a5cf
fix memory leak on failure in sandbox.c:prot_strings()
...
[CID 1205014]
2014-08-21 11:40:48 -04:00
Nick Mathewson
35b2e11755
Store sandbox params as char *, since that's what they are.
...
This allows coverity to infer that we aren't leaking them.
[Fixes a lot of CIDs]
2014-08-21 11:22:42 -04:00
Nick Mathewson
917e1042f7
Suppress coverity warning about overflowing in safe_mem_is_zero
...
The unsigned underflow here is defined and intentional.
CID 202482
2014-08-21 11:22:42 -04:00
Nick Mathewson
7bc25b5a78
Avoid performing an assert on an always-true value
...
This was freaking out coverity.
[CID 743379]
2014-08-21 11:22:42 -04:00
Nick Mathewson
c43e45d0ea
Suppress coverity warning about overflowing in tor_memeq.
...
The unsigned underflow here is defined and intentional.
CID 202482
2014-08-21 10:44:13 -04:00
Nick Mathewson
0de7565dfd
Check return values for fcntl in tor_spawn_background.
...
[CID 718609]
2014-08-21 10:38:19 -04:00
Nick Mathewson
2cf229ab60
Make the two branches of tor_tls_used_v1_handshake into one.
...
(Coverity thinks that "if (a) X; else X;" is probably a bug.)
[Coverity CID 1232086]
2014-08-21 10:12:54 -04:00
Nick Mathewson
7c61d10c6c
Fix return value of tor_fd_seekend.
...
Previously, we had documented it to return -1 or 0, when in fact
lseek returns -1 or the new position in the file.
This is harmless, since we were only checking for negative values
when we used tor_fd_seekend.
2014-08-20 13:49:25 -04:00
Nick Mathewson
a32913d5aa
Allow named pipes for our log files.
...
Closes ticket 12061. Based on a patch from "carlo von lynX" on tor-dev at
https://lists.torproject.org/pipermail/tor-dev/2014-April/006705.html
2014-08-20 13:45:16 -04:00
Nick Mathewson
fb762f6db0
Merge remote-tracking branch 'public/bug11787'
2014-08-20 13:34:02 -04:00
Nick Mathewson
4570805efd
Fix whitespace issues
2014-08-13 10:42:20 -04:00
Nick Mathewson
2bfd92d0d1
Apply coccinelle script to replace malloc(a*b)->calloc(a,b)
2014-08-13 10:39:56 -04:00
Nick Mathewson
19b137bc05
Add reallocarray clone so we can stop doing multiply-then-reallocate
2014-08-13 10:39:56 -04:00
Nick Mathewson
a36cd51b59
Merge remote-tracking branch 'origin/maint-0.2.5'
2014-07-17 11:34:33 +02:00
Nick Mathewson
f6a776d915
Merge remote-tracking branch 'public/bug12602_024' into maint-0.2.5
2014-07-17 11:32:16 +02:00
Nick Mathewson
66798dfdc0
Fix compilation with no-compression OpenSSL builds and forks
...
Found because LibreSSL has OPENSSL_NO_COMP always-on, but this
conflicts with the way that _we_ turn off compression. Patch from
dhill, who attributes it to "OpenBSD". Fixes bug 12602; bugfix on
0.2.1.1-alpha, which introduced this turn-compression-off code.
2014-07-17 11:25:56 +02:00
Nick Mathewson
8c7fbdf3af
fix a c99-ism
2014-07-16 15:30:14 +02:00
Nick Mathewson
867f5e6a76
Add a tor_ftruncate to replace ftruncate.
...
(Windows doesn't have ftruncate, and some ftruncates do not move the
file pointer to the start of the file.)
2014-07-16 13:58:55 +02:00
Arlo Breault
15e170e01b
Add an option to overwrite logs
...
* Issue #5583
2014-07-16 12:16:49 +02:00
Nick Mathewson
58f4200789
Thread support is now required
...
Long ago we supported systems where there was no support for
threads, or where the threading library was broken. We shouldn't
have do that any more: on every OS that matters, threads exist, and
the OS supports running threads across multiple CPUs.
This resolves tickets 9495 and 12439. It's a prerequisite to making
our workqueue code work better, since sensible workqueue
implementations don't split across multiple processes.
2014-06-20 10:20:10 -04:00
Nick Mathewson
5b4ee475aa
Remove code for Windows CE support
...
As far as I know, nobody has used this in ages. It would be a
pretty big surprise if it had worked.
Closes ticket 11446.
2014-06-20 09:49:36 -04:00
Nick Mathewson
dd362b52f3
whitespace fixes
2014-06-16 15:18:02 -04:00
Nick Mathewson
a7cafb1ea9
Merge branch 'bug8746_v2_squashed'
...
Conflicts:
src/common/include.am
2014-06-14 11:46:38 -04:00
Nick Mathewson
e2e588175e
New testing-only tor_sleep_msec function
...
In the unit tests I want to loop with a delay, but I want less than
a 1 second delay. This, sadly, requires compatibility code.
2014-06-14 11:40:27 -04:00