libosmocore: change the memory management of NS2

Until now NS2 always free'd it's own memory. Even when the msg
was sent as primitive to the upper layer.
Change the memory ownership when sending a primitive to the upper layer.
The upper layer has to free the msg buffer.

Merge together with: I180433735bfbb3375c41318d7a7709d5845199ba (osmo-pcu)

Change-Id: Id844d7acbcab102a7dc472d608a5e97a748ecb43
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index 2cc1006..0676314 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -206,7 +206,7 @@
 
 static int handle_nsip_read(struct osmo_fd *bfd)
 {
-	int rc;
+	int rc = 0;
 	int error = 0;
 	struct gprs_ns2_vc_bind *bind = bfd->data;
 	struct osmo_sockaddr saddr;
@@ -240,10 +240,10 @@
 		}
 	}
 
-	rc = ns2_recv_vc(nsvc, msg);
+	return ns2_recv_vc(nsvc, msg);
+
 out:
 	msgb_free(msg);
-
 	return rc;
 }