nat: Access data_ptr after we have checked the length

This commit is contained in:
Holger Hans Peter Freyther
2012-01-10 13:04:40 +01:00
parent c5df08b388
commit 5d2a30a83c

View File

@@ -1026,15 +1026,15 @@ static struct msgb *rewrite_sms(struct bsc_nat *nat, struct msgb *msg,
return NULL;
}
/* look into the phone number */
if ((data_ptr[0] & 0x01) != 1)
return NULL;
if (data_len < 3) {
LOGP(DNAT, LOGL_ERROR, "SMS-SUBMIT is too short.\n");
return NULL;
}
/* look into the phone number */
if ((data_ptr[0] & 0x01) != 1)
return NULL;
dest_len = data_ptr[2];
if (data_len < dest_len + 3 || dest_len < 2) {
LOGP(DNAT, LOGL_ERROR, "SMS-SUBMIT can not have TP-DestAddr.\n");