Don't leak memory if we get too many create cells

Specifically, every time we get a create cell but we have so many already
queued that we refuse it.

Bugfix on 0.2.0.19-alpha; fixes bug 1034. Reported by BarkerJr.
This commit is contained in:
Roger Dingledine 2009-07-27 22:38:09 -04:00
parent 2b63fa40e8
commit 0a4e2397c0
2 changed files with 8 additions and 1 deletions

View File

@ -3,6 +3,11 @@ Changes in version 0.2.1.19 - 2009-07-??
- Make accessing hidden services on 0.2.1.x work right
again. Bugfix on 0.2.1.3-alpha; workaround for bug 1038.
o Minor bugfixes:
- Avoid leaking memory every time we get a create cell but we have
so many already queued that we refuse it. Bugfix on 0.2.0.19-alpha;
fixes bug 1034. Reported by BarkerJr.
Changes in version 0.2.1.18 - 2009-07-24
o Build fixes:

View File

@ -444,8 +444,10 @@ assign_onionskin_to_cpuworker(connection_t *cpuworker,
if (1) {
if (num_cpuworkers_busy == num_cpuworkers) {
log_debug(LD_OR,"No idle cpuworkers. Queuing.");
if (onion_pending_add(circ, onionskin) < 0)
if (onion_pending_add(circ, onionskin) < 0) {
tor_free(onionskin);
return -1;
}
return 0;
}