diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-04-26 21:50:54 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-04-26 22:15:12 +0200 |
commit | 973c3c3f248cdf5e6d459517f612dc7b8bf36ca6 (patch) | |
tree | f0d1e11d71921b5d6b4d8537830e535e3a61c06d | |
parent | 81cd54a0c36cd9cf2bedd97221658a276aa2d84c (diff) |
LAPDm: Ensure there is no payload in DISC frames
When we send DISC frames (especially generated from RSL), we don't want
any remaining bytes from the RSL message showing up as bogus DISC
payload.
-rw-r--r-- | src/gsm/lapdm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index f123cb6c..1c08113e 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -959,7 +959,12 @@ static int rslms_rx_rll_rel_req(struct msgb *msg, struct lapdm_datalink *dl) mode = rllh->data[1] & 1; /* Pull rllh */ - msgb_pull(msg, msg->tail - msg->l2h); + msgb_pull_l2h(msg); + + /* 04.06 3.8.3: No information field is permitted with the DISC + * command. */ + msg->len = 0; + msg->tail = msg->l3h = msg->data; /* prepare prim */ osmo_prim_init(&dp.oph, 0, PRIM_DL_REL, PRIM_OP_REQUEST, msg); |