(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-gsm_sms.c) |
| |
| 3180 | | | dis_msg_status_report(tvbuff_t *tvb, proto_tree *tree, guint32 offset) |
| 3181 | | | { |
| 3182 | | | guint32 saved_offset; |
| 3183 | | | guint32 length; |
| 3184 | | | guint8 oct; |
| 3185 | | | guint8 pi; |
| 3186 | | | guint8 udl; |
| 3187 | | | gboolean seven_bit; |
| 3188 | | | gboolean eight_bit; |
| 3189 | | | gboolean ucs2; |
| 3190 | | | gboolean compressed; |
| 3191 | | | gboolean udhi; |
| 3192 | | | |
| 3193 | | | |
| 3194 | | | udl = 0; |
| 3195 | | | saved_offset = offset; |
| 3196 | | | length = tvb_length_remaining(tvb, offset); |
| 3197 | | | |
| 3198 | | | oct = tvb_get_guint8(tvb, offset); |
| 3199 | | | udhi = oct & 0x40; |
| 3200 | | | |
| 3201 | | | proto_tree_add_item(tree, hf_gsm_sms_tp_udhi, tvb, offset, 1, FALSE); |
| 3202 | | | proto_tree_add_item(tree, hf_gsm_sms_tp_srq, tvb, offset, 1, FALSE); |
| 3203 | | | proto_tree_add_item(tree, hf_gsm_sms_tp_mms, tvb, offset, 1, FALSE); |
| 3204 | | | proto_tree_add_item(tree, hf_gsm_sms_tp_mti_down, tvb, offset, 1, FALSE); |
| 3205 | | | |
| 3206 | | | offset++; |
| 3207 | | | oct = tvb_get_guint8(tvb, offset); |
| 3208 | | | |
| 3209 | | | proto_tree_add_item(tree, hf_gsm_sms_tp_mr, tvb, offset, 1, FALSE); |
| 3210 | | | |
| 3211 | | | offset++; |
| 3212 | | | |
| 3213 | | | dis_field_addr(tvb, tree, &offset, "TP-Recipient-Address"); |
| 3214 | | | |
| 3215 | | | dis_field_scts(tvb, tree, &offset); |
| 3216 | | | |
| 3217 | | | dis_field_dt(tvb, tree, &offset); |
| 3218 | | | |
| 3219 | | | oct = tvb_get_guint8(tvb, offset); |
| 3220 | | | |
| 3221 | | | dis_field_st(tvb, tree, offset, oct); |
| 3222 | | | |
| 3223 | | | offset++; |
| 3224 | | | |
| 3225 | | | |
| 3226 | | | |
| 3227 | | | |
| 3228 | | | |
| 3229 | | | if (length <= (offset - saved_offset)) |
Event 1:
Skipping " if". length <= offset - saved_offset evaluates to false.
hide
|
|
| 3230 | | | { |
| 3231 | | | return; |
| 3232 | | | } |
| 3233 | | | pi = tvb_get_guint8(tvb, offset); |
| 3234 | | | |
| 3235 | | | dis_field_pi(tvb, tree, offset, pi); |
| 3236 | | | |
| 3237 | | | if (pi & 0x01) |
Event 2:
Skipping " if". pi & 1 evaluates to false.
hide
|
|
| 3238 | | | { |
| 3239 | | | if (length <= (offset - saved_offset)) |
| 3240 | | | { |
| 3241 | | | proto_tree_add_text(tree, |
| 3242 | | | tvb, offset, -1, |
| 3243 | | | "Short Data (?)"); |
| 3244 | | | return; |
| 3245 | | | } |
| 3246 | | | |
| 3247 | | | offset++; |
| 3248 | | | oct = tvb_get_guint8(tvb, offset); |
| 3249 | | | |
| 3250 | | | dis_field_pid(tvb, tree, offset, oct); |
| 3251 | | | } |
| 3252 | | | |
| 3253 | | | if (pi & 0x02) |
Event 3:
Skipping " if". pi & 2 evaluates to false.
hide
|
|
| 3254 | | | { |
| 3255 | | | if (length <= (offset - saved_offset)) |
| 3256 | | | { |
| 3257 | | | proto_tree_add_text(tree, |
| 3258 | | | tvb, offset, -1, |
| 3259 | | | "Short Data (?)"); |
| 3260 | | | return; |
| 3261 | | | } |
| 3262 | | | |
| 3263 | | | offset++; |
| 3264 | | | oct = tvb_get_guint8(tvb, offset); |
| 3265 | | | |
| 3266 | | | dis_field_dcs(tvb, tree, offset, oct, &seven_bit, &eight_bit, &ucs2, &compressed); |
| 3267 | | | } |
| 3268 | | | |
| 3269 | | | if (pi & 0x04) |
Event 4:
Taking true branch. pi & 4 evaluates to true.
hide
|
|
| 3270 | | | { |
| 3271 | | | if (length <= (offset - saved_offset)) |
Event 5:
Skipping " if". length <= offset - saved_offset evaluates to false.
hide
|
|
| 3272 | | | { |
| 3273 | | | proto_tree_add_text(tree, |
| 3274 | | | tvb, offset, -1, |
| 3275 | | | "Short Data (?)"); |
| 3276 | | | return; |
| 3277 | | | } |
| 3278 | | | |
| 3279 | | | offset++; |
| 3280 | [+] | | oct = tvb_get_guint8(tvb, offset); |
 |
| 3281 | | | udl = oct; |
| 3282 | | | |
| 3283 | | | DIS_FIELD_UDL(tree, offset);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-gsm_sms.c |
| |
1359 | #define DIS_FIELD_UDL(m_tree, m_offset) \ |
1360 | { \ |
1361 | proto_tree_add_text(m_tree, tvb, \ |
1362 | m_offset, 1, \ |
1363 | "TP-User-Data-Length: (%d) %s", \ |
1364 | oct, \ |
1365 | oct ? "depends on Data-Coding-Scheme" : "no User-Data");\ |
1366 | } |
| |
|
Event 10:
oct evaluates to true.
hide
|
|
| 3284 | | | } |
| 3285 | | | |
| 3286 | | | if (udl > 0) |
Event 11:
Taking true branch. udl > 0 evaluates to true.
hide
|
|
| 3287 | | | { |
| 3288 | | | offset++; |
| 3289 | | | |
| 3290 | | | dis_field_ud(tvb, tree, offset, length - (offset - saved_offset), udhi, udl, |
| 3291 | | | seven_bit, eight_bit, ucs2, compressed); |
Uninitialized Variable
compressed was not initialized. The issue can occur if the highlighted code executes. Show: All events | Only primary events |
|
| |