laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/29591 )

Change subject: msgb: assert msgb->lXh to be not NULL
......................................................................

msgb: assert msgb->lXh to be not NULL

When any of l1h, l2h, l2h or l4h is set to NULL (which is the default
for newly allocated message buffers). Then the msgb_lXhlen() functions
will return the address value of msgb->tail. This can lead to unexpected
results at a later point. We should have an OSMO_ASSERT to catch the
problem early.

Change-Id: I1795c559f190713ebbabfbabf3453ab77da46a49
Related: OS#5645
---
M include/osmocom/core/msgb.h
1 file changed, 4 insertions(+), 0 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h
index 117fcb0..fbf1742 100644
--- a/include/osmocom/core/msgb.h
+++ b/include/osmocom/core/msgb.h
@@ -144,6 +144,7 @@
  */
 static inline unsigned int msgb_l1len(const struct msgb *msgb)
 {
+       OSMO_ASSERT(msgb->l1h);
        return msgb->tail - (uint8_t *)msgb_l1(msgb);
 }

@@ -156,6 +157,7 @@
  */
 static inline unsigned int msgb_l2len(const struct msgb *msgb)
 {
+       OSMO_ASSERT(msgb->l2h);
        return msgb->tail - (uint8_t *)msgb_l2(msgb);
 }

@@ -168,6 +170,7 @@
  */
 static inline unsigned int msgb_l3len(const struct msgb *msgb)
 {
+       OSMO_ASSERT(msgb->l3h);
        return msgb->tail - (uint8_t *)msgb_l3(msgb);
 }

@@ -180,6 +183,7 @@
  */
 static inline unsigned int msgb_l4len(const struct msgb *msgb)
 {
+       OSMO_ASSERT(msgb->l4h);
        return msgb->tail - (uint8_t *)msgb_sms(msgb);
 }


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/29591
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I1795c559f190713ebbabfbabf3453ab77da46a49
Gerrit-Change-Number: 29591
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to