summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-skinny.c
diff options
context:
space:
mode:
authorDiederik de Groot <dkgroot@talon.nl>2017-02-19 18:05:20 +0100
committerAnders Broman <a.broman58@gmail.com>2017-02-22 05:39:53 +0000
commit73ac6974c4db73846c37d811a02d17c1436eab47 (patch)
tree55a3d0c58ef60af9cb8ac88df4752be882822c14 /epan/dissectors/packet-skinny.c
parenta4d7793b4cfc2e6d578bf4723fd334f24cf453ec (diff)
downloadwireshark-73ac6974c4db73846c37d811a02d17c1436eab47.tar.gz
[skinny]: Fix tvb struct size guard value
The struct size guard value was used incorrectly, causing message with short content to be only partially dissected. Minor: - Renamed OffHookWithCgpn to OffHookWithCalingPartyNumber - Added SetHookFlashDetect Message - Removed some of the debug logging when parse_xml2skinny_dissector.py:debug=0 Change-Id: If4f20d2412f8775fac3d0a2979200e8369cea6f2 Reviewed-on: https://code.wireshark.org/review/20186 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-skinny.c')
-rw-r--r--epan/dissectors/packet-skinny.c328
1 files changed, 165 insertions, 163 deletions
diff --git a/epan/dissectors/packet-skinny.c b/epan/dissectors/packet-skinny.c
index 69f1eaf1e8..66b8169cb3 100644
--- a/epan/dissectors/packet-skinny.c
+++ b/epan/dissectors/packet-skinny.c
@@ -119,7 +119,7 @@ static const value_string message_id[] = {
{ 0x0021, "MulticastMediaReceptionAck" },
{ 0x0022, "OpenReceiveChannelAck" },
{ 0x0023, "ConnectionStatisticsRes" },
- { 0x0024, "OffHookWithCgpn" },
+ { 0x0024, "OffHookWithCalingPartyNumber" },
{ 0x0025, "SoftKeySetReq" },
{ 0x0026, "SoftKeyEvent" },
{ 0x0027, "UnregisterReq" },
@@ -158,6 +158,7 @@ static const value_string message_id[] = {
{ 0x0083, "StopTone" },
{ 0x0085, "SetRinger" },
{ 0x0086, "SetLamp" },
+ { 0x0087, "SetHookFlashDetect" },
{ 0x0088, "SetSpeakerMode" },
{ 0x0089, "SetMicroMode" },
{ 0x008a, "StartMediaTransmission" },
@@ -2662,10 +2663,10 @@ handle_CapabilitiesResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skin
guint32 payloadCapability = 0;
capCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_capCount, 4, ENC_LITTLE_ENDIAN);
- if (capCount <= 16) { /* tvb struct size guard */
+ if (capCount <= 18) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "caps [ref: capCount = %d, max:18]", capCount);
- if (capCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (capCount * 16) && capCount <= 18) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "caps [ref:capCount = %d, max:18]", capCount);
+ if (capCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (capCount * 16) && capCount <= 18) {
for (counter_1 = 0; counter_1 < 18; counter_1++) {
if (counter_1 < capCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "caps [%d / %d]", counter_1 + 1, capCount);
@@ -2727,7 +2728,7 @@ handle_CapabilitiesResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skin
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (capCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (capCount * 16));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x009b);
}
@@ -2852,7 +2853,7 @@ handle_ConnectionStatisticsResMessage(ptvcursor_t *cursor, packet_info * pinfo _
}
/*
- * Message: OffHookWithCgpnMessage
+ * Message: OffHookWithCalingPartyNumberMessage
* Opcode: 0x0024
* Type: CallControl
* Direction: dev2pbx
@@ -2860,7 +2861,7 @@ handle_ConnectionStatisticsResMessage(ptvcursor_t *cursor, packet_info * pinfo _
* MsgType: event
*/
static void
-handle_OffHookWithCgpnMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny_conv_info_t * skinny_conv _U_)
+handle_OffHookWithCalingPartyNumberMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny_conv_info_t * skinny_conv _U_)
{
guint32 hdr_version = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);
guint32 VariableDirnumSize = (hdr_version >= V18_MSG_TYPE) ? 25 : 24;
@@ -3083,10 +3084,10 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_RTPPayloadFormat, 4, ENC_LITTLE_ENDIAN);
customPictureFormatCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_customPictureFormatCount, 4, ENC_LITTLE_ENDIAN);
- if (customPictureFormatCount <= 20) { /* tvb struct size guard */
+ if (customPictureFormatCount <= 6) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref: customPictureFormatCount = %d, max:6]", customPictureFormatCount);
- if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref:customPictureFormatCount = %d, max:6]", customPictureFormatCount);
+ if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) {
for (counter_1 = 0; counter_1 < 6; counter_1++) {
if (counter_1 < customPictureFormatCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [%d / %d]", counter_1 + 1, customPictureFormatCount);
@@ -3103,7 +3104,7 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (customPictureFormatCount * 20)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (customPictureFormatCount * 20));
}
{
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "confResources");
@@ -3111,10 +3112,10 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_maxBW, 4, ENC_LITTLE_ENDIAN);
serviceResourceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_serviceResourceCount, 4, ENC_LITTLE_ENDIAN);
- if (serviceResourceCount <= 24) { /* tvb struct size guard */
+ if (serviceResourceCount <= 4) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref: serviceResourceCount = %d, max:4]", serviceResourceCount);
- if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref:serviceResourceCount = %d, max:4]", serviceResourceCount);
+ if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) {
for (counter_2 = 0; counter_2 < 4; counter_2++) {
if (counter_2 < serviceResourceCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [%d / %d]", counter_2 + 1, serviceResourceCount);
@@ -3130,7 +3131,7 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_advance(cursor, 4);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: layouts */
+ ptvcursor_pop_subtree(cursor);
} else {
ptvcursor_advance(cursor, (5 * 4)); /* guard kicked in -> skip the rest */;
}
@@ -3146,14 +3147,14 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (serviceResourceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (serviceResourceCount * 24));
}
ptvcursor_pop_subtree(cursor);
}
- if (audioCapCount <= 16) { /* tvb struct size guard */
+ if (audioCapCount <= 18) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref: audioCapCount = %d, max:18]", audioCapCount);
- if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref:audioCapCount = %d, max:18]", audioCapCount);
+ if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) {
for (counter_1 = 0; counter_1 < 18; counter_1++) {
if (counter_1 < audioCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [%d / %d]", counter_1 + 1, audioCapCount);
@@ -3215,12 +3216,12 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (audioCapCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (audioCapCount * 16));
}
- if (videoCapCount <= 44) { /* tvb struct size guard */
+ if (videoCapCount <= 10) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref: videoCapCount = %d, max:10]", videoCapCount);
- if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 44) && videoCapCount <= 10) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref:videoCapCount = %d, max:10]", videoCapCount);
+ if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 44) && videoCapCount <= 10) {
for (counter_1 = 0; counter_1 < 10; counter_1++) {
if (counter_1 < videoCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [%d / %d]", counter_1 + 1, videoCapCount);
@@ -3229,10 +3230,10 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_videoCapabilityDirection, 4, ENC_LITTLE_ENDIAN);
levelPreferenceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_levelPreferenceCount, 4, ENC_LITTLE_ENDIAN);
- if (levelPreferenceCount <= 24) { /* tvb struct size guard */
+ if (levelPreferenceCount <= 4) {
guint32 counter_5 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref: levelPreferenceCount = %d, max:4]", levelPreferenceCount);
- if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref:levelPreferenceCount = %d, max:4]", levelPreferenceCount);
+ if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) {
for (counter_5 = 0; counter_5 < 4; counter_5++) {
if (counter_5 < levelPreferenceCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [%d / %d]", counter_5 + 1, levelPreferenceCount);
@@ -3250,7 +3251,7 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (levelPreferenceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (levelPreferenceCount * 24));
}
if (payloadCapability == MEDIA_PAYLOAD_H261) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "payloadCapability is Media_Payload_H261");
@@ -3322,12 +3323,12 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (videoCapCount * 44)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (videoCapCount * 44));
}
- if (dataCapCount <= 16) { /* tvb struct size guard */
+ if (dataCapCount <= 5) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref: dataCapCount = %d, max:5]", dataCapCount);
- if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 16) && dataCapCount <= 5) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref:dataCapCount = %d, max:5]", dataCapCount);
+ if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 16) && dataCapCount <= 5) {
for (counter_1 = 0; counter_1 < 5; counter_1++) {
if (counter_1 < dataCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [%d / %d]", counter_1 + 1, dataCapCount);
@@ -3343,7 +3344,7 @@ handle_UpdateCapabilitiesMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (dataCapCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (dataCapCount * 16));
}
}
@@ -3523,10 +3524,10 @@ handle_AuditConferenceResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_last, 4, ENC_LITTLE_ENDIAN);
numberOfEntries = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_numberOfEntries, 4, ENC_LITTLE_ENDIAN);
- if (numberOfEntries <= 76) { /* tvb struct size guard */
+ if (numberOfEntries <= 32) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "conferenceEntry [ref: numberOfEntries = %d, max:32]", numberOfEntries);
- if (numberOfEntries && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (numberOfEntries * 76) && numberOfEntries <= 32) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "conferenceEntry [ref:numberOfEntries = %d, max:32]", numberOfEntries);
+ if (numberOfEntries && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (numberOfEntries * 76) && numberOfEntries <= 32) {
for (counter_1 = 0; counter_1 < 32; counter_1++) {
if (counter_1 < numberOfEntries) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "conferenceEntry [%d / %d]", counter_1 + 1, numberOfEntries);
@@ -3545,7 +3546,7 @@ handle_AuditConferenceResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (numberOfEntries * 76)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (numberOfEntries * 76));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x013c);
}
@@ -3569,9 +3570,9 @@ handle_AuditParticipantResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_,
ptvcursor_add(cursor, hf_skinny_conferenceID, 4, ENC_LITTLE_ENDIAN);
numberOfEntries = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_numberOfEntries, 4, ENC_LITTLE_ENDIAN);
- if (numberOfEntries <= 256) { /* tvb integer size guard */
+ if (numberOfEntries <= 256) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "participantEntry [ref: numberOfEntries = %d, max:256]", numberOfEntries);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "participantEntry [ref:numberOfEntries = %d, max:256]", numberOfEntries);
for (counter_2 = 0; counter_2 < 256; counter_2++) {
if (counter_2 < numberOfEntries) {
ptvcursor_add(cursor, hf_skinny_participantEntry, 4, ENC_LITTLE_ENDIAN);
@@ -3579,9 +3580,9 @@ handle_AuditParticipantResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_,
ptvcursor_advance(cursor, 4);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: participantEntry */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (256 * 4)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (256 * 4));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x013d ^ conferenceID);
}
@@ -3680,10 +3681,10 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_RTPPayloadFormat, 4, ENC_LITTLE_ENDIAN);
customPictureFormatCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_customPictureFormatCount, 4, ENC_LITTLE_ENDIAN);
- if (customPictureFormatCount <= 20) { /* tvb struct size guard */
+ if (customPictureFormatCount <= 6) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref: customPictureFormatCount = %d, max:6]", customPictureFormatCount);
- if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref:customPictureFormatCount = %d, max:6]", customPictureFormatCount);
+ if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) {
for (counter_1 = 0; counter_1 < 6; counter_1++) {
if (counter_1 < customPictureFormatCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [%d / %d]", counter_1 + 1, customPictureFormatCount);
@@ -3700,7 +3701,7 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (customPictureFormatCount * 20)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (customPictureFormatCount * 20));
}
{
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "confResources");
@@ -3708,10 +3709,10 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_maxBW, 4, ENC_LITTLE_ENDIAN);
serviceResourceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_serviceResourceCount, 4, ENC_LITTLE_ENDIAN);
- if (serviceResourceCount <= 24) { /* tvb struct size guard */
+ if (serviceResourceCount <= 4) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref: serviceResourceCount = %d, max:4]", serviceResourceCount);
- if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref:serviceResourceCount = %d, max:4]", serviceResourceCount);
+ if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) {
for (counter_2 = 0; counter_2 < 4; counter_2++) {
if (counter_2 < serviceResourceCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [%d / %d]", counter_2 + 1, serviceResourceCount);
@@ -3727,7 +3728,7 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_advance(cursor, 4);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: layouts */
+ ptvcursor_pop_subtree(cursor);
} else {
ptvcursor_advance(cursor, (5 * 4)); /* guard kicked in -> skip the rest */;
}
@@ -3743,14 +3744,14 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (serviceResourceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (serviceResourceCount * 24));
}
ptvcursor_pop_subtree(cursor);
}
- if (audioCapCount <= 16) { /* tvb struct size guard */
+ if (audioCapCount <= 18) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref: audioCapCount = %d, max:18]", audioCapCount);
- if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref:audioCapCount = %d, max:18]", audioCapCount);
+ if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) {
for (counter_1 = 0; counter_1 < 18; counter_1++) {
if (counter_1 < audioCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [%d / %d]", counter_1 + 1, audioCapCount);
@@ -3812,12 +3813,12 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (audioCapCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (audioCapCount * 16));
}
- if (videoCapCount <= 60) { /* tvb struct size guard */
+ if (videoCapCount <= 10) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref: videoCapCount = %d, max:10]", videoCapCount);
- if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 60) && videoCapCount <= 10) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref:videoCapCount = %d, max:10]", videoCapCount);
+ if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 60) && videoCapCount <= 10) {
for (counter_1 = 0; counter_1 < 10; counter_1++) {
if (counter_1 < videoCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [%d / %d]", counter_1 + 1, videoCapCount);
@@ -3826,10 +3827,10 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_videoCapabilityDirection, 4, ENC_LITTLE_ENDIAN);
levelPreferenceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_levelPreferenceCount, 4, ENC_LITTLE_ENDIAN);
- if (levelPreferenceCount <= 24) { /* tvb struct size guard */
+ if (levelPreferenceCount <= 4) {
guint32 counter_5 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref: levelPreferenceCount = %d, max:4]", levelPreferenceCount);
- if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref:levelPreferenceCount = %d, max:4]", levelPreferenceCount);
+ if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) {
for (counter_5 = 0; counter_5 < 4; counter_5++) {
if (counter_5 < levelPreferenceCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [%d / %d]", counter_5 + 1, levelPreferenceCount);
@@ -3847,7 +3848,7 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (levelPreferenceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (levelPreferenceCount * 24));
}
if (payloadCapability == MEDIA_PAYLOAD_H261) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "payloadCapability is Media_Payload_H261");
@@ -3935,12 +3936,12 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (videoCapCount * 60)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (videoCapCount * 60));
}
- if (dataCapCount <= 16) { /* tvb struct size guard */
+ if (dataCapCount <= 5) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref: dataCapCount = %d, max:5]", dataCapCount);
- if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 16) && dataCapCount <= 5) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref:dataCapCount = %d, max:5]", dataCapCount);
+ if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 16) && dataCapCount <= 5) {
for (counter_1 = 0; counter_1 < 5; counter_1++) {
if (counter_1 < dataCapCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [%d / %d]", counter_1 + 1, dataCapCount);
@@ -3956,7 +3957,7 @@ handle_CapabilitiesV2ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (dataCapCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (dataCapCount * 16));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x009b);
}
@@ -3990,11 +3991,11 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_RTPPayloadFormat, 4, ENC_LITTLE_ENDIAN);
customPictureFormatCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_customPictureFormatCount, 4, ENC_LITTLE_ENDIAN);
- if (customPictureFormatCount <= 20) { /* tvb struct size guard */
+ if (customPictureFormatCount <= 6) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref: customPictureFormatCount = %d, max:6]", customPictureFormatCount);
- if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) { /* tvb counter size guard */
- for (counter_1 = 0; counter_1 < customPictureFormatCount; counter_1++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [ref:customPictureFormatCount = %d, max:6]", customPictureFormatCount);
+ if (customPictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (customPictureFormatCount * 20) && customPictureFormatCount <= 6) {
+ for (counter_1 = 0; counter_1 < 6; counter_1++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "customPictureFormat [%d / %d]", counter_1 + 1, customPictureFormatCount);
ptvcursor_add(cursor, hf_skinny_pictureWidth, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_pictureHeight, 4, ENC_LITTLE_ENDIAN);
@@ -4006,7 +4007,7 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (customPictureFormatCount * 20)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (customPictureFormatCount * 20));
}
{
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "confResources");
@@ -4014,11 +4015,11 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_maxBW, 4, ENC_LITTLE_ENDIAN);
serviceResourceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_serviceResourceCount, 4, ENC_LITTLE_ENDIAN);
- if (serviceResourceCount <= 24) { /* tvb struct size guard */
+ if (serviceResourceCount <= 4) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref: serviceResourceCount = %d, max:4]", serviceResourceCount);
- if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) { /* tvb counter size guard */
- for (counter_2 = 0; counter_2 < serviceResourceCount; counter_2++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [ref:serviceResourceCount = %d, max:4]", serviceResourceCount);
+ if (serviceResourceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (serviceResourceCount * 24) && serviceResourceCount <= 4) {
+ for (counter_2 = 0; counter_2 < 4; counter_2++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "serviceResource [%d / %d]", counter_2 + 1, serviceResourceCount);
layoutCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_layoutCount, 4, ENC_LITTLE_ENDIAN);
@@ -4028,7 +4029,7 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
for (counter_6 = 0; counter_6 < layoutCount; counter_6++) {
ptvcursor_add(cursor, hf_skinny_layouts, 4, ENC_LITTLE_ENDIAN);
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: layouts */
+ ptvcursor_pop_subtree(cursor);
} else {
ptvcursor_advance(cursor, (layoutCount * 4)); /* guard kicked in -> skip the rest */;
}
@@ -4041,15 +4042,15 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (serviceResourceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (serviceResourceCount * 24));
}
ptvcursor_pop_subtree(cursor);
}
- if (audioCapCount <= 16) { /* tvb struct size guard */
+ if (audioCapCount <= 18) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref: audioCapCount = %d, max:18]", audioCapCount);
- if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) { /* tvb counter size guard */
- for (counter_1 = 0; counter_1 < audioCapCount; counter_1++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [ref:audioCapCount = %d, max:18]", audioCapCount);
+ if (audioCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (audioCapCount * 16) && audioCapCount <= 18) {
+ for (counter_1 = 0; counter_1 < 18; counter_1++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "audiocaps [%d / %d]", counter_1 + 1, audioCapCount);
payloadCapability = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_payloadCapability, 4, ENC_LITTLE_ENDIAN);
@@ -4106,24 +4107,24 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (audioCapCount * 16)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (audioCapCount * 16));
}
- if (videoCapCount <= 72) { /* tvb struct size guard */
+ if (videoCapCount <= 10) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref: videoCapCount = %d, max:10]", videoCapCount);
- if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 72) && videoCapCount <= 10) { /* tvb counter size guard */
- for (counter_1 = 0; counter_1 < videoCapCount; counter_1++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [ref:videoCapCount = %d, max:10]", videoCapCount);
+ if (videoCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (videoCapCount * 4) && videoCapCount <= 10) {
+ for (counter_1 = 0; counter_1 < 10; counter_1++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "vidCaps [%d / %d]", counter_1 + 1, videoCapCount);
payloadCapability = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_payloadCapability, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_videoCapabilityDirection, 4, ENC_LITTLE_ENDIAN);
levelPreferenceCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_levelPreferenceCount, 4, ENC_LITTLE_ENDIAN);
- if (levelPreferenceCount <= 24) { /* tvb struct size guard */
+ if (levelPreferenceCount <= 4) {
guint32 counter_4 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref: levelPreferenceCount = %d, max:4]", levelPreferenceCount);
- if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) { /* tvb counter size guard */
- for (counter_4 = 0; counter_4 < levelPreferenceCount; counter_4++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [ref:levelPreferenceCount = %d, max:4]", levelPreferenceCount);
+ if (levelPreferenceCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (levelPreferenceCount * 24) && levelPreferenceCount <= 4) {
+ for (counter_4 = 0; counter_4 < 4; counter_4++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "levelPreference [%d / %d]", counter_4 + 1, levelPreferenceCount);
ptvcursor_add(cursor, hf_skinny_transmitPreference, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_format, 4, ENC_LITTLE_ENDIAN);
@@ -4136,7 +4137,7 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (levelPreferenceCount * 24)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (levelPreferenceCount * 24));
}
ptvcursor_add(cursor, hf_skinny_encryptionCapability, 4, ENC_LITTLE_ENDIAN);
if (payloadCapability == MEDIA_PAYLOAD_H261) {
@@ -4226,13 +4227,13 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (videoCapCount * 72)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (videoCapCount * 4));
}
- if (dataCapCount <= 20) { /* tvb struct size guard */
+ if (dataCapCount <= 5) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref: dataCapCount = %d, max:5]", dataCapCount);
- if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 20) && dataCapCount <= 5) { /* tvb counter size guard */
- for (counter_1 = 0; counter_1 < dataCapCount; counter_1++) {
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [ref:dataCapCount = %d, max:5]", dataCapCount);
+ if (dataCapCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (dataCapCount * 20) && dataCapCount <= 5) {
+ for (counter_1 = 0; counter_1 < 5; counter_1++) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "dataCaps [%d / %d]", counter_1 + 1, dataCapCount);
ptvcursor_add(cursor, hf_skinny_payloadCapability, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_dataCapabilityDirection, 4, ENC_LITTLE_ENDIAN);
@@ -4244,7 +4245,7 @@ handle_CapabilitiesV3ResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (dataCapCount * 20)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (dataCapCount * 20));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x009b);
}
@@ -4623,9 +4624,9 @@ handle_StartMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pinfo _U
ptvcursor_add(cursor, hf_skinny_keylen, 2, ENC_LITTLE_ENDIAN);
saltlen = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_saltlen, 2, ENC_LITTLE_ENDIAN);
- if (keylen <= 16) { /* tvb integer size guard */
+ if (keylen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref: keylen = %d, max:16]", keylen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref:keylen = %d, max:16]", keylen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < keylen) {
ptvcursor_add(cursor, hf_skinny_key, 1, ENC_LITTLE_ENDIAN);
@@ -4633,13 +4634,13 @@ handle_StartMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pinfo _U
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: key */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
- if (saltlen <= 16) { /* tvb integer size guard */
+ if (saltlen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref: saltlen = %d, max:16]", saltlen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref:saltlen = %d, max:16]", saltlen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < saltlen) {
ptvcursor_add(cursor, hf_skinny_salt, 1, ENC_LITTLE_ENDIAN);
@@ -4647,9 +4648,9 @@ handle_StartMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pinfo _U
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: salt */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
ptvcursor_add(cursor, hf_skinny_isMKIPresent, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_keyDerivationRate, 4, ENC_LITTLE_ENDIAN);
@@ -4942,10 +4943,10 @@ handle_ButtonTemplateResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
ptvcursor_add(cursor, hf_skinny_buttonCount, 4, ENC_LITTLE_ENDIAN);
totalButtonCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_totalButtonCount, 4, ENC_LITTLE_ENDIAN);
- if (totalButtonCount <= 2) { /* tvb struct size guard */
+ if (totalButtonCount <= 42) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref: totalButtonCount = %d, max:42]", totalButtonCount);
- if (totalButtonCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalButtonCount * 2) && totalButtonCount <= 42) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref:totalButtonCount = %d, max:42]", totalButtonCount);
+ if (totalButtonCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalButtonCount * 2) && totalButtonCount <= 42) {
for (counter_2 = 0; counter_2 < 42; counter_2++) {
if (counter_2 < totalButtonCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [%d / %d]", counter_2 + 1, totalButtonCount);
@@ -4959,7 +4960,7 @@ handle_ButtonTemplateResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (totalButtonCount * 2)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (totalButtonCount * 2));
}
ptvcursor_pop_subtree(cursor);
}
@@ -5038,7 +5039,7 @@ handle_ServerResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny_con
for (counter_2 = 0; counter_2 < 5; counter_2++) {
ptvcursor_add(cursor, hf_skinny_serverTcpListenPort, 4, ENC_LITTLE_ENDIAN);
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: serverTcpListenPort */
+ ptvcursor_pop_subtree(cursor);
}
if (hdr_data_length < 293) {
{
@@ -5288,9 +5289,9 @@ handle_OpenReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_keylen, 2, ENC_LITTLE_ENDIAN);
saltlen = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_saltlen, 2, ENC_LITTLE_ENDIAN);
- if (keylen <= 16) { /* tvb integer size guard */
+ if (keylen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref: keylen = %d, max:16]", keylen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref:keylen = %d, max:16]", keylen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < keylen) {
ptvcursor_add(cursor, hf_skinny_key, 1, ENC_LITTLE_ENDIAN);
@@ -5298,13 +5299,13 @@ handle_OpenReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: key */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
- if (saltlen <= 16) { /* tvb integer size guard */
+ if (saltlen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref: saltlen = %d, max:16]", saltlen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref:saltlen = %d, max:16]", saltlen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < saltlen) {
ptvcursor_add(cursor, hf_skinny_salt, 1, ENC_LITTLE_ENDIAN);
@@ -5312,9 +5313,9 @@ handle_OpenReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: salt */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
ptvcursor_add(cursor, hf_skinny_isMKIPresent, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_keyDerivationRate, 4, ENC_LITTLE_ENDIAN);
@@ -5446,10 +5447,10 @@ handle_SoftKeyTemplateResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
ptvcursor_add(cursor, hf_skinny_softKeyCount, 4, ENC_LITTLE_ENDIAN);
totalSoftKeyCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_totalSoftKeyCount, 4, ENC_LITTLE_ENDIAN);
- if (totalSoftKeyCount <= 20) { /* tvb struct size guard */
+ if (totalSoftKeyCount <= 32) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref: totalSoftKeyCount = %d, max:32]", totalSoftKeyCount);
- if (totalSoftKeyCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalSoftKeyCount * 20) && totalSoftKeyCount <= 32) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref:totalSoftKeyCount = %d, max:32]", totalSoftKeyCount);
+ if (totalSoftKeyCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalSoftKeyCount * 20) && totalSoftKeyCount <= 32) {
for (counter_2 = 0; counter_2 < 32; counter_2++) {
if (counter_2 < totalSoftKeyCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [%d / %d]", counter_2 + 1, totalSoftKeyCount);
@@ -5463,7 +5464,7 @@ handle_SoftKeyTemplateResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, s
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (totalSoftKeyCount * 20)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (totalSoftKeyCount * 20));
}
ptvcursor_pop_subtree(cursor);
}
@@ -5488,10 +5489,10 @@ handle_SoftKeySetResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
ptvcursor_add(cursor, hf_skinny_softKeySetCount, 4, ENC_LITTLE_ENDIAN);
totalSoftKeySetCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_totalSoftKeySetCount, 4, ENC_LITTLE_ENDIAN);
- if (totalSoftKeySetCount <= 3) { /* tvb struct size guard */
+ if (totalSoftKeySetCount <= 16) {
guint32 counter_2 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref: totalSoftKeySetCount = %d, max:16]", totalSoftKeySetCount);
- if (totalSoftKeySetCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalSoftKeySetCount * 3) && totalSoftKeySetCount <= 16) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [ref:totalSoftKeySetCount = %d, max:16]", totalSoftKeySetCount);
+ if (totalSoftKeySetCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (totalSoftKeySetCount * 3) && totalSoftKeySetCount <= 16) {
for (counter_2 = 0; counter_2 < 16; counter_2++) {
if (counter_2 < totalSoftKeySetCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "definition [%d / %d]", counter_2 + 1, totalSoftKeySetCount);
@@ -5501,7 +5502,7 @@ handle_SoftKeySetResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
for (counter_7 = 0; counter_7 < 16; counter_7++) {
ptvcursor_add(cursor, hf_skinny_softKeyTemplateIndex, 1, ENC_LITTLE_ENDIAN);
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: softKeyTemplateIndex */
+ ptvcursor_pop_subtree(cursor);
}
{
guint32 counter_7 = 0;
@@ -5509,7 +5510,7 @@ handle_SoftKeySetResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
for (counter_7 = 0; counter_7 < 16; counter_7++) {
ptvcursor_add(cursor, hf_skinny_softKeyInfoIndex, 2, ENC_LITTLE_ENDIAN);
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: softKeyInfoIndex */
+ ptvcursor_pop_subtree(cursor);
}
} else {
ptvcursor_advance(cursor, 3);
@@ -5519,7 +5520,7 @@ handle_SoftKeySetResMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (totalSoftKeySetCount * 3)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (totalSoftKeySetCount * 3));
}
ptvcursor_pop_subtree(cursor);
}
@@ -5889,7 +5890,7 @@ handle_StartAnnouncementMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, sk
for (counter_2 = 0; counter_2 < 16; counter_2++) {
ptvcursor_add(cursor, hf_skinny_matrixConfPartyID, 4, ENC_LITTLE_ENDIAN);
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: matrixConfPartyID */
+ ptvcursor_pop_subtree(cursor);
}
ptvcursor_add(cursor, hf_skinny_hearingConfPartyMask, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_annPlayMode, 4, ENC_LITTLE_ENDIAN);
@@ -6178,7 +6179,7 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
ptvcursor_pop_subtree(cursor);
}
ptvcursor_pop_subtree(cursor);
- ptvcursor_advance(cursor, 28);
+ ptvcursor_advance(cursor, 36);
} else if (payloadType >= MEDIA_PAYLOAD_H261 && payloadType <= MEDIA_PAYLOAD_H264_FEC) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "Media_Payload_H261 <= payloadType <= Media_Payload_H264_FEC");
{
@@ -6186,10 +6187,10 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
ptvcursor_add(cursor, hf_skinny_bitRate, 4, ENC_LITTLE_ENDIAN);
pictureFormatCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_pictureFormatCount, 4, ENC_LITTLE_ENDIAN);
- if (pictureFormatCount <= 8) { /* tvb struct size guard */
+ if (pictureFormatCount <= 5) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [ref: pictureFormatCount = %d, max:5]", pictureFormatCount);
- if (pictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (pictureFormatCount * 8) && pictureFormatCount <= 5) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [ref:pictureFormatCount = %d, max:5]", pictureFormatCount);
+ if (pictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (pictureFormatCount * 8) && pictureFormatCount <= 5) {
for (counter_3 = 0; counter_3 < 5; counter_3++) {
if (counter_3 < pictureFormatCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [%d / %d]", counter_3 + 1, pictureFormatCount);
@@ -6203,7 +6204,7 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (pictureFormatCount * 8)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (pictureFormatCount * 8));
}
ptvcursor_add(cursor, hf_skinny_confServiceNum, 4, ENC_LITTLE_ENDIAN);
if (payloadType == MEDIA_PAYLOAD_H261) {
@@ -6305,9 +6306,9 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
ptvcursor_add(cursor, hf_skinny_keylen, 2, ENC_LITTLE_ENDIAN);
saltlen = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_saltlen, 2, ENC_LITTLE_ENDIAN);
- if (keylen <= 16) { /* tvb integer size guard */
+ if (keylen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref: keylen = %d, max:16]", keylen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref:keylen = %d, max:16]", keylen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < keylen) {
ptvcursor_add(cursor, hf_skinny_key, 1, ENC_LITTLE_ENDIAN);
@@ -6315,13 +6316,13 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: key */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
- if (saltlen <= 16) { /* tvb integer size guard */
+ if (saltlen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref: saltlen = %d, max:16]", saltlen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref:saltlen = %d, max:16]", saltlen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < saltlen) {
ptvcursor_add(cursor, hf_skinny_salt, 1, ENC_LITTLE_ENDIAN);
@@ -6329,9 +6330,9 @@ handle_OpenMultiMediaReceiveChannelMessage(ptvcursor_t *cursor, packet_info * pi
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: salt */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
ptvcursor_add(cursor, hf_skinny_isMKIPresent, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_keyDerivationRate, 4, ENC_LITTLE_ENDIAN);
@@ -6418,7 +6419,7 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
ptvcursor_pop_subtree(cursor);
}
ptvcursor_pop_subtree(cursor);
- ptvcursor_advance(cursor, 28);
+ ptvcursor_advance(cursor, 36);
} else if (payloadType >= MEDIA_PAYLOAD_H261 && payloadType <= MEDIA_PAYLOAD_H264_FEC) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "Media_Payload_H261 <= payloadType <= Media_Payload_H264_FEC");
{
@@ -6426,10 +6427,10 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
ptvcursor_add(cursor, hf_skinny_bitRate, 4, ENC_LITTLE_ENDIAN);
pictureFormatCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_pictureFormatCount, 4, ENC_LITTLE_ENDIAN);
- if (pictureFormatCount <= 8) { /* tvb struct size guard */
+ if (pictureFormatCount <= 5) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [ref: pictureFormatCount = %d, max:5]", pictureFormatCount);
- if (pictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (pictureFormatCount * 8) && pictureFormatCount <= 5) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [ref:pictureFormatCount = %d, max:5]", pictureFormatCount);
+ if (pictureFormatCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (pictureFormatCount * 8) && pictureFormatCount <= 5) {
for (counter_3 = 0; counter_3 < 5; counter_3++) {
if (counter_3 < pictureFormatCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "pictureFormat [%d / %d]", counter_3 + 1, pictureFormatCount);
@@ -6443,7 +6444,7 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (pictureFormatCount * 8)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (pictureFormatCount * 8));
}
ptvcursor_add(cursor, hf_skinny_confServiceNum, 4, ENC_LITTLE_ENDIAN);
if (payloadType == MEDIA_PAYLOAD_H261) {
@@ -6545,9 +6546,9 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
ptvcursor_add(cursor, hf_skinny_keylen, 2, ENC_LITTLE_ENDIAN);
saltlen = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_saltlen, 2, ENC_LITTLE_ENDIAN);
- if (keylen <= 16) { /* tvb integer size guard */
+ if (keylen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref: keylen = %d, max:16]", keylen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "key [ref:keylen = %d, max:16]", keylen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < keylen) {
ptvcursor_add(cursor, hf_skinny_key, 1, ENC_LITTLE_ENDIAN);
@@ -6555,13 +6556,13 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: key */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
- if (saltlen <= 16) { /* tvb integer size guard */
+ if (saltlen <= 16) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref: saltlen = %d, max:16]", saltlen);
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "salt [ref:saltlen = %d, max:16]", saltlen);
for (counter_3 = 0; counter_3 < 16; counter_3++) {
if (counter_3 < saltlen) {
ptvcursor_add(cursor, hf_skinny_salt, 1, ENC_LITTLE_ENDIAN);
@@ -6569,9 +6570,9 @@ handle_StartMultiMediaTransmissionMessage(ptvcursor_t *cursor, packet_info * pin
ptvcursor_advance(cursor, 1);
}
}
- ptvcursor_pop_subtree(cursor); /* end for loop tree: salt */
+ ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (16 * 1)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (16 * 1));
}
ptvcursor_add(cursor, hf_skinny_isMKIPresent, 4, ENC_LITTLE_ENDIAN);
ptvcursor_add(cursor, hf_skinny_keyDerivationRate, 4, ENC_LITTLE_ENDIAN);
@@ -6682,10 +6683,10 @@ handle_MiscellaneousCommandMessage(ptvcursor_t *cursor, packet_info * pinfo _U_,
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "recoveryReferencePictureValue");
recoveryReferencePictureCount = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_recoveryReferencePictureCount, 4, ENC_LITTLE_ENDIAN);
- if (recoveryReferencePictureCount <= 8) { /* tvb struct size guard */
+ if (recoveryReferencePictureCount <= 4) {
guint32 counter_3 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "recoveryReferencePicture [ref: recoveryReferencePictureCount = %d, max:4]", recoveryReferencePictureCount);
- if (recoveryReferencePictureCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (recoveryReferencePictureCount * 8) && recoveryReferencePictureCount <= 4) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "recoveryReferencePicture [ref:recoveryReferencePictureCount = %d, max:4]", recoveryReferencePictureCount);
+ if (recoveryReferencePictureCount && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (recoveryReferencePictureCount * 8) && recoveryReferencePictureCount <= 4) {
for (counter_3 = 0; counter_3 < 4; counter_3++) {
if (counter_3 < recoveryReferencePictureCount) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "recoveryReferencePicture [%d / %d]", counter_3 + 1, recoveryReferencePictureCount);
@@ -6699,7 +6700,7 @@ handle_MiscellaneousCommandMessage(ptvcursor_t *cursor, packet_info * pinfo _U_,
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (recoveryReferencePictureCount * 8)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (recoveryReferencePictureCount * 8));
}
ptvcursor_pop_subtree(cursor);
}
@@ -7735,10 +7736,10 @@ handle_CallCountRespMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
ptvcursor_add(cursor, hf_skinny_startingLineInstance, 4, ENC_LITTLE_ENDIAN);
lineDataEntries = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));
ptvcursor_add(cursor, hf_skinny_lineDataEntries, 4, ENC_LITTLE_ENDIAN);
- if (lineDataEntries <= 4) { /* tvb struct size guard */
+ if (lineDataEntries <= 42) {
guint32 counter_1 = 0;
- ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "lineData [ref: lineDataEntries = %d, max:42]", lineDataEntries);
- if (lineDataEntries && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (lineDataEntries * 4) && lineDataEntries <= 42) { /* tvb counter size guard */
+ ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "lineData [ref:lineDataEntries = %d, max:42]", lineDataEntries);
+ if (lineDataEntries && tvb_get_letohl(ptvcursor_tvbuff(cursor), 0) + 8 >= ptvcursor_current_offset(cursor) + (lineDataEntries * 4) && lineDataEntries <= 42) {
for (counter_1 = 0; counter_1 < 42; counter_1++) {
if (counter_1 < lineDataEntries) {
ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "lineData [%d / %d]", counter_1 + 1, lineDataEntries);
@@ -7752,7 +7753,7 @@ handle_CallCountRespMessage(ptvcursor_t *cursor, packet_info * pinfo _U_, skinny
}
ptvcursor_pop_subtree(cursor);
} else {
- ptvcursor_advance(cursor, (lineDataEntries * 4)); /* guard kicked in -> skip the rest */;
+ ptvcursor_advance(cursor, (lineDataEntries * 4));
}
skinny_reqrep_add_response(cursor, pinfo, skinny_conv, 0x015e);
}
@@ -7861,7 +7862,7 @@ static const skinny_opcode_map_t skinny_opcode_map[] = {
{0x0021, handle_MulticastMediaReceptionAckMessage , SKINNY_MSGTYPE_RESPONSE , "MulticastMediaReceptionAckMessage"},
{0x0022, handle_OpenReceiveChannelAckMessage , SKINNY_MSGTYPE_RESPONSE , "OpenReceiveChannelAckMessage"},
{0x0023, handle_ConnectionStatisticsResMessage , SKINNY_MSGTYPE_RESPONSE , "ConnectionStatisticsResMessage"},
- {0x0024, handle_OffHookWithCgpnMessage , SKINNY_MSGTYPE_EVENT , "OffHookWithCgpnMessage"},
+ {0x0024, handle_OffHookWithCalingPartyNumberMessage , SKINNY_MSGTYPE_EVENT , "OffHookWithCalingPartyNumberMessage"},
{0x0025, NULL , SKINNY_MSGTYPE_REQUEST , "SoftKeySetReqMessage"},
{0x0026, handle_SoftKeyEventMessage , SKINNY_MSGTYPE_EVENT , "SoftKeyEventMessage"},
{0x0027, handle_UnregisterReqMessage , SKINNY_MSGTYPE_REQUEST , "UnregisterReqMessage"},
@@ -7900,6 +7901,7 @@ static const skinny_opcode_map_t skinny_opcode_map[] = {
{0x0083, handle_StopToneMessage , SKINNY_MSGTYPE_EVENT , "StopToneMessage"},
{0x0085, handle_SetRingerMessage , SKINNY_MSGTYPE_EVENT , "SetRingerMessage"},
{0x0086, handle_SetLampMessage , SKINNY_MSGTYPE_EVENT , "SetLampMessage"},
+ {0x0087, NULL , SKINNY_MSGTYPE_EVENT , "SetHookFlashDetectMessage"},
{0x0088, handle_SetSpeakerModeMessage , SKINNY_MSGTYPE_EVENT , "SetSpeakerModeMessage"},
{0x0089, handle_SetMicroModeMessage , SKINNY_MSGTYPE_EVENT , "SetMicroModeMessage"},
{0x008a, handle_StartMediaTransmissionMessage , SKINNY_MSGTYPE_REQUEST , "StartMediaTransmissionMessage"},