[MERGED] libosmocore[master]: memleak: gsmtap_sendmsg(): don't return 0 when no data was w...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Sat Feb 17 13:09:31 UTC 2018


Neels Hofmeyr has submitted this change and it was merged.

Change subject: memleak: gsmtap_sendmsg(): don't return 0 when no data was written
......................................................................


memleak: gsmtap_sendmsg(): don't return 0 when no data was written

If less than the msgb size was written by write(), we want to return -EIO.
Hence do not return zero when write() wrote zero bytes, return -EIO in that
case as well.

Previously, if write() returned zero, gsmtap_sendmsg() would return zero
*without* freeing the msg, hence neither would the (ideal) caller. So this
fixes a corner-case memleak.

Change-Id: I099ae1c663c018da5db884f7e9d52c45af3ed817
---
M src/gsmtap_util.c
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Vadim Yanitskiy: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c
index 8c044b1..962782b 100644
--- a/src/gsmtap_util.c
+++ b/src/gsmtap_util.c
@@ -282,7 +282,7 @@
 		int rc;
 
 		rc = write(gsmtap_inst_fd(gti), msg->data, msg->len);
-		if (rc <= 0) {
+		if (rc < 0) {
 			return rc;
 		} else if (rc >= msg->len) {
 			msgb_free(msg);

-- 
To view, visit https://gerrit.osmocom.org/6513
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I099ae1c663c018da5db884f7e9d52c45af3ed817
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>



More information about the gerrit-log mailing list