svn:r3567
@@ -906,8 +906,10 @@ int connection_exit_begin_resolve(cell_t *cell, circuit_t *circ) {
/* send it off to the gethostbyname farm */
switch (dns_resolve(dummy_conn)) {
- case 1: /* The result was cached; a resolved cell was sent. */
case -1: /* Impossible to resolve; a resolved cell was sent. */
+ /* Connection freed; don't touch it. */
+ return 0;
+ case 1: /* The result was cached; a resolved cell was sent. */
connection_free(dummy_conn);
return 0;
case 0: /* resolve added to pending list */