[GPRS] SNDCP: Check if SN-PDU is too large and reject it
... since we don't do fragmentation yet
This commit is contained in:
parent
1d9d944310
commit
db2c39f888
|
@ -172,6 +172,7 @@ int sndcp_sm_activate_ind(struct gprs_llc_lle *lle, uint8_t nsapi)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Request transmission of a SN-PDU over specified LLC Entity + SAPI */
|
||||
int sndcp_unitdata_req(struct msgb *msg, struct gprs_llc_lle *lle, uint8_t nsapi,
|
||||
void *mmcontext)
|
||||
{
|
||||
|
@ -181,6 +182,13 @@ int sndcp_unitdata_req(struct msgb *msg, struct gprs_llc_lle *lle, uint8_t nsapi
|
|||
|
||||
/* Identifiers from UP: (TLLI, SAPI) + (BVCI, NSEI) */
|
||||
|
||||
if (msg->len > lle->params.n201_u - (sizeof(*sch) + sizeof(*suh))) {
|
||||
LOGP(DSNDCP, LOGL_ERROR, "Message length %u > N201-U (%u): "
|
||||
"SNDCP Fragmentation not yet implemented\n",
|
||||
msg->len, lle->params.n201_u);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
sne = sndcp_entity_by_lle(lle, nsapi);
|
||||
if (!sne) {
|
||||
LOGP(DSNDCP, LOGL_ERROR, "Cannot find SNDCP Entity\n");
|
||||
|
|
Loading…
Reference in New Issue