Don't free here, leads to potential double free.

pull/211/merge
Roger A. Light 11 years ago
parent 0856e9519d
commit 405b7f0aab

@ -636,9 +636,7 @@ handle_connect_error:
#ifdef WITH_TLS #ifdef WITH_TLS
if(client_cert) X509_free(client_cert); if(client_cert) X509_free(client_cert);
#endif #endif
if(context){ /* We return an error here which means the client is freed later on. */
mqtt3_context_disconnect(db, context);
}
return rc; return rc;
} }

@ -69,6 +69,7 @@ try:
rc = 0 rc = 0
sock.close() sock.close()
finally: finally:
time.sleep(1)
broker.terminate() broker.terminate()
broker.wait() broker.wait()
if rc: if rc:

@ -38,6 +38,7 @@ try:
ssock.close() ssock.close()
finally: finally:
time.sleep(2)
broker.terminate() broker.terminate()
broker.wait() broker.wait()
if rc: if rc:

@ -62,8 +62,10 @@ try:
rc = 0 rc = 0
sock.close() sock.close()
finally: finally:
time.sleep(1)
broker.terminate() broker.terminate()
broker.wait() broker.wait()
time.sleep(1)
bridge.terminate() bridge.terminate()
bridge.wait() bridge.wait()
if rc: if rc:

@ -4,6 +4,7 @@
all : all :
clean : clean :
-rm -f *.vglog
$(MAKE) -C c clean $(MAKE) -C c clean
test-compile : test-compile :

@ -25,6 +25,7 @@ def start_broker(filename, cmd=None, port=1888):
if c is not None: if c is not None:
c.close() c.close()
time.sleep(delay)
return broker return broker
raise IOError raise IOError

Loading…
Cancel
Save