Text   |  XML   |  ReML   |   Visible Warnings:

Shift Amount Exceeds Bit Width  at packet-netflow.c:3309

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

dissect_pdu

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-netflow.c)expand/collapse
Show more  
 3195  dissect_pdu(tvbuff_t * tvb, packet_info * pinfo _U_, proto_tree * pdutree, int offset, hdrinfo_t * hdrinfo)
 3196  {
 3197          proto_item     *hidden_item;
 3198          int             startoffset = offset;
 3199          guint32         srcaddr, dstaddr;
 3200          guint8          mask;
 3201          nstime_t        ts;
 3202          guint8          ver;
 3203   
 3204          memset(&ts, '\0', sizeof(ts));
 3205   
 3206          /*
 3207           * memcpy so we can use the values later to calculate a prefix
 3208           */
 3209          srcaddr = tvb_get_ipv4(tvb, offset);
 3210          proto_tree_add_ipv4(pdutree, hf_cflow_srcaddr, tvb, offset, 4,
 3211                              srcaddr);
 3212          offset += 4;
 3213   
 3214          dstaddr = tvb_get_ipv4(tvb, offset);
 3215          proto_tree_add_ipv4(pdutree, hf_cflow_dstaddr, tvb, offset, 4,
 3216                              dstaddr);
 3217          offset += 4;
 3218   
 3219          proto_tree_add_item(pdutree, hf_cflow_nexthop, tvb, offset, 4, FALSE);
 3220          offset += 4;
 3221   
 3222          offset = flow_process_ints(pdutree, tvb, offset);
 3223          offset = flow_process_sizecount(pdutree, tvb, offset);
 3224          offset = flow_process_timeperiod(pdutree, tvb, offset);
 3225          offset = flow_process_ports(pdutree, tvb, offset);
 3226   
 3227          /*
 3228           * and the similarities end here 
 3229           */
 3230   
 3231          ver = hdrinfo->vspec;
 3232   
 3233          if (ver == 1) {
 3234                  offset =
 3235                      flow_process_textfield(pdutree, tvb, offset, 2, "padding");
 3236   
 3237                  proto_tree_add_item(pdutree, hf_cflow_prot, tvb, offset++, 1,
 3238                                      FALSE);
 3239   
 3240                  proto_tree_add_item(pdutree, hf_cflow_tos, tvb, offset++, 1,
 3241                                      FALSE);
 3242   
 3243                  proto_tree_add_item(pdutree, hf_cflow_tcpflags, tvb, offset++,
 3244                                      1, FALSE);
 3245   
 3246                  offset =
 3247                      flow_process_textfield(pdutree, tvb, offset, 3, "padding");
 3248   
 3249                  offset =
 3250                      flow_process_textfield(pdutree, tvb, offset, 4,
 3251                                             "reserved");
 3252          } else {
 3253                  if (ver == 5)
 3254                          offset =
 3255                              flow_process_textfield(pdutree, tvb, offset, 1,
 3256                                                     "padding");
 3257                  else {
 3258                          proto_tree_add_item(pdutree, hf_cflow_flags, tvb,
 3259                                              offset++, 1, FALSE);
 3260                  }
 3261   
 3262                  proto_tree_add_item(pdutree, hf_cflow_tcpflags, tvb, offset++,
 3263                                      1, FALSE);
 3264   
 3265                  proto_tree_add_item(pdutree, hf_cflow_prot, tvb, offset++, 1,
 3266                                      FALSE);
 3267   
 3268                  proto_tree_add_item(pdutree, hf_cflow_tos, tvb, offset++, 1,
 3269                                      FALSE);
 3270   
 3271                  offset = flow_process_aspair(pdutree, tvb, offset);
 3272   
 3273                  mask = tvb_get_guint8(tvb, offset);
 3274                  proto_tree_add_text(pdutree, tvb, offset, 1,
 3275                                      "SrcMask: %u (prefix: %s/%u)",
 3276                                      mask, getprefix(&srcaddr, mask),
 3277                                      mask != 0 ? mask : 32);
 3278                  hidden_item = proto_tree_add_uint(pdutree, hf_cflow_srcmask, tvb,
 3279                                             offset++, 1, mask);
 3280                  PROTO_ITEM_SET_HIDDEN(hidden_item);
 3281   
 3282[+]                 mask = tvb_get_guint8(tvb, offset);
 3283                  proto_tree_add_text(pdutree, tvb, offset, 1,
 3284                                      "DstMask: %u (prefix: %s/%u)",
 3285[+]                                     mask, getprefix(&dstaddr, mask),
expand/collapse

getprefix

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-netflow.c)expand/collapse
Show more  
 3304  static const gchar   *
 3305  getprefix(const guint32 * address, int prefix)
 3306  {
 3307          guint32         gprefix;
 3308   
 3309          gprefix = *address & g_htonl((0xffffffff << (32 - prefix)));
Show more  
 3286                                      mask != 0 ? mask : 32);
Show more  




Change Warning 2850.33428 : Shift Amount Exceeds Bit Width

Priority:
State:
Finding:
Owner:
Note: