bssgp - handle LLC PDU of 0 length.

Gsm_a - radio pri included in Modify PDP context request.

svn path=/trunk/; revision=17875
This commit is contained in:
Anders Broman 2006-04-16 19:14:21 +00:00
parent 1fddaf0211
commit 1d1cf3790a
2 changed files with 13 additions and 9 deletions

View File

@ -1220,18 +1220,21 @@ bssgp_proto_tree_add_ie(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset) {
static void
bssgp_proto_handoff(bssgp_ie_t *ie, build_info_t *bi, int ie_start_offset, dissector_handle_t handle) {
tvbuff_t *next_tvb;
tvbuff_t *next_tvb=NULL;
next_tvb = tvb_new_subset(bi->tvb, bi->offset, -1, -1);
if(ie->value_length > 0)
next_tvb = tvb_new_subset(bi->tvb, bi->offset, -1, -1);
if (bi->bssgp_tree) {
bssgp_proto_tree_add_ie(ie, bi, ie_start_offset);
}
if (handle) {
call_dissector(handle, next_tvb, bi->pinfo, bi->parent_tree);
}
else if (data_handle) {
call_dissector(data_handle, next_tvb, bi->pinfo, bi->parent_tree);
if(next_tvb){
if (handle) {
call_dissector(handle, next_tvb, bi->pinfo, bi->parent_tree);
}
else if (data_handle) {
call_dissector(data_handle, next_tvb, bi->pinfo, bi->parent_tree);
}
}
}
@ -1602,7 +1605,7 @@ get_value_length(bssgp_ie_t *ie, build_info_t *bi) {
else {
length_len++;
length <<= 8;
length |= tvb_get_guint8(bi->tvb, bi->offset);
length |= tvb_get_guint8(bi->tvb, bi->offset+1);
}
ie->value_length = length;
ie->total_length += length_len + length;

View File

@ -17222,7 +17222,7 @@ dtap_sm_req_pdp_act_rej(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint l
}
/*
* [7] 9.5.9 Modify PDP context request (Network to MS direction)
* [8] 9.5.9 Modify PDP context request (Network to MS direction)
*/
static void
dtap_sm_mod_pdp_req_net(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len)
@ -17237,6 +17237,7 @@ dtap_sm_mod_pdp_req_net(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint l
is_uplink = IS_UPLINK_UNKNOWN;
g_pinfo->p2p_dir = P2P_DIR_UNKNOWN;
ELEM_MAND_V(BSSAP_PDU_TYPE_DTAP,DE_RAD_PRIO);
#if 0
/* This is done automatically */
ELEM_MAND_V(BSSAP_PDU_TYPE_DTAP, DE_SPARE );