diff --git a/openbsc/src/gprs/gprs_ns_frgre.c b/openbsc/src/gprs/gprs_ns_frgre.c index 7367b6a6d..359c0f711 100644 --- a/openbsc/src/gprs/gprs_ns_frgre.c +++ b/openbsc/src/gprs/gprs_ns_frgre.c @@ -67,11 +67,10 @@ static struct msgb *read_nsfrgre_msg(struct bsc_fd *bfd, int *error, LOGP(DNS, LOGL_ERROR, "recv error %s during NS-FR-GRE recv\n", strerror(errno)); *error = ret; - return NULL; + goto out_err; } else if (ret == 0) { - msgb_free(msg); *error = ret; - return NULL; + goto out_err; } msgb_put(msg, ret);