abis_rsl_rcvmsg(): Fix msgb memory leak in error path

Thanks to Andreas Eversberg for spotting this one.
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 9b3658e..a38ab21 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -1907,6 +1907,7 @@
 
 	if (msgb_l2len(msg) < sizeof(*rslh)) {
 		DEBUGP(DRSL, "Truncated RSL message with l2len: %u\n", msgb_l2len(msg));
+		msgb_free(msg);
 		return -1;
 	}
 
@@ -1935,7 +1936,7 @@
 	default:
 		LOGP(DRSL, LOGL_NOTICE, "unknown RSL message discriminator "
 			"0x%02x\n", rslh->msg_discr);
-		return -EINVAL;
+		rc = -EINVAL;
 	}
 	msgb_free(msg);
 	return rc;