[sr-dev] git:master: core: hanlde replacement buffer free for WS/WSS frame sending

Daniel-Constantin Mierla miconda at gmail.com
Tue Sep 16 23:45:07 CEST 2014


Module: sip-router
Branch: master
Commit: ec8fe1e7ea904a51ca933d0b15408ca464002cbe
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ec8fe1e7ea904a51ca933d0b15408ca464002cbe

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date:   Tue Sep 16 23:33:20 2014 +0200

core: hanlde replacement buffer free for WS/WSS frame sending

- affected when using topoh for ws/wss traffic

---

 forward.h |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/forward.h b/forward.h
index 4187540..271e6c7 100644
--- a/forward.h
+++ b/forward.h
@@ -183,7 +183,7 @@ static inline int msg_send(struct dest_info* dst, char* buf, int len)
 		wsev.id = con->id;
 		ret = sr_event_exec(SREV_TCP_WS_FRAME_OUT, (void *) &wsev);
 		tcpconn_put(con);
-		return ret;
+		goto done;
 	}
 #endif
 
@@ -277,9 +277,11 @@ static inline int msg_send(struct dest_info* dst, char* buf, int len)
 			LOG(L_CRIT, "BUG: msg_send: unknown proto %d\n", dst->proto);
 			goto error;
 	}
+	ret = 0;
+done:
 	if(outb.s != buf)
 		pkg_free(outb.s);
-	return 0;
+	return ret;
 error:
 	if(outb.s != buf)
 		pkg_free(outb.s);




More information about the sr-dev mailing list