Text   |  XML   |  ReML   |   Visible Warnings:

Uninitialized Variable  at to_str.c:499

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

dissect_v9_pdu

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-netflow.c)expand/collapse
Show more  
 1262  dissect_v9_pdu(tvbuff_t * tvb, packet_info * pinfo, proto_tree * pdutree, int offset,
 1263      struct v9_template * template)
 1264  {
 1265          int             orig_offset = offset;
 1266          int             i;
 1267          int             rev;
 1268          nstime_t        ts_start[2], ts_end[2];
 1269          int             offset_s[2], offset_e[2];
 1270          nstime_t        ts_delta;
 1271          guint32         msec_start[2], msec_end[2];
 1272          guint32         msec_delta;
 1273          proto_tree *    timetree = 0;
 1274          proto_item *    timeitem = 0;
 1275          guint16         pen_count = 0;
 1276          address         local_addr, remote_addr;
 1277          guint16         local_port = 0, remote_port = 0, ipv4_id = 0, icmp_id = 0;
 1278          guint32         uid = 0, pid = 0;
 1279          int             uname_len;
 1280          gchar *         uname_str = NULL;
 1281          int             cmd_len;
 1282          gchar *         cmd_str = NULL;
 1283          guint16         got_flags = 0;
 1284   
 1285          offset_s[0] = offset_s[1] = offset_e[0] = offset_e[1] = 0;
 1286          msec_start[0] = msec_start[1] = msec_end[0] = msec_end[1] = 0;
 1287   
 1288          if( (template->count_scopes > 0) && (template->scopes != NULL)) {
 1289                  for(i = 0; i < template->count_scopes; i++) {
 1290                          guint16 type = template->scopes[i].type;
 1291                          guint16 length = template->scopes[i].length;
 1292                          switch( type ) {
 1293                          case 1: /* system */
 1294                                  if( length == 4) {
 1295                                           proto_tree_add_item(pdutree, hf_cflow_scope_system,
 1296                                                  tvb, offset, length, FALSE);
 1297                                  } else if (length > 0) {
 1298                                           proto_tree_add_text(pdutree,
 1299
1323
Show [ Lines 1299 to 1323 omitted. ]
 1324                                  break;
 1325                          default: /* unknown */
 1326                                  proto_tree_add_item(pdutree, hf_cflow_scope_unknown,
 1327                                                  tvb, offset, length, FALSE);
 1328                                  break;
 1329                          }
 1330                          offset += length;
 1331                  }
 1332          }
 1333   
 1334          for (i = 0; i < template->count; i++) {
 1335                  guint64 pen_type;
 1336                  guint16 type, length;
 1337                  guint32 pen = 0;
 1338   
 1339                  rev = 0;
 1340                  type = template->entries[i + pen_count].type;
 1341                  length = template->entries[i + pen_count].length;
 1342                  if (type & 0x8000) {
 1343                    pen_count++;
 1344                    pen = *(guint32 *)&template->entries[i + pen_count];
 1345                    if (pen == REVPEN) { /* reverse PEN */
 1346                      type &= 0x7fff;
 1347                      rev = 1;
 1348                    }
 1349                  }
 1350   
 1351                  pen_type = pen << 16 | (type & 0x7fff);
 1352   
 1353                  switch (pen_type) {
 1354   
 1355                  case 85: /* BYTES_PERMANENT */
 1356                  case 1: /* bytes */
 1357                          if (length == 4) {
 1358                                  proto_tree_add_item(pdutree, hf_cflow_octets,
 1359                                      tvb, offset, length, FALSE);
 1360                          } else if (length == 8) {
 1361                                  proto_tree_add_item(pdutree, hf_cflow_octets64,
 1362                                      tvb, offset, length, FALSE);
 1363                          } else {
 1364
1549
Show [ Lines 1364 to 1549 omitted. ]
 1550                          if(type == 152) {
 1551                            offset_s[rev] = offset;
 1552                            ts_start[rev].secs = tvb_get_ntohl(tvb, offset);
 1553                            ts_start[rev].nsecs = tvb_get_ntohl(tvb, offset + 4) * 1000000;
 1554                          } else if(type == 153) {
 1555                            offset_e[rev] = offset;
 1556                            ts_end[rev].secs = tvb_get_ntohl(tvb, offset);
 1557                            ts_end[rev].nsecs = tvb_get_ntohl(tvb, offset + 4) * 1000000;
 1558                          }
 1559                          /* FALLTHROUGH */
 1560                  case 154: /*  flowStartMicroseconds */
 1561                  case 155: /*  flowEndMicroseconds */
 1562                          if(type == 154) {
 1563                            offset_s[rev] = offset;
 1564                            ts_start[rev].secs = tvb_get_ntohl(tvb, offset);
 1565                            ts_start[rev].nsecs = tvb_get_ntohl(tvb, offset + 4) * 1000;
 1566                          } else if(type == 155) {
 1567                            offset_e[rev] = offset;
 1568                            ts_end[rev].secs = tvb_get_ntohl(tvb, offset);
 1569                            ts_end[rev].nsecs = tvb_get_ntohl(tvb, offset + 4) * 1000;
 1570                          }
 1571                          /* FALLTHROUGH */
 1572                  case 156: /*  flowStartNanoseconds */
 1573                  case 157: /*  flowEndNanoseconds */
 1574                          if(type == 156) {
 1575                            offset_s[rev] = offset;
 1576                            ts_start[rev].secs = tvb_get_ntohl(tvb, offset);
 1577                            ts_start[rev].nsecs = tvb_get_ntohl(tvb, offset + 4);
 1578                          } else if(type == 157) {
 1579                            offset_e[rev] = offset;
 1580                            ts_end[rev].secs = tvb_get_ntohl(tvb, offset);
 1581                            ts_end[rev].nsecs = tvb_get_ntohl(tvb, offset + 4);
 1582                          }
 1583                          /* FALLTHROUGH */
 1584                  case 158: /*  flowStartDeltaMicroseconds */
 1585                  case 159: /*  flowEndDeltaMicroseconds */
 1586                          if(type == 158) {
 1587                                  offset_s[rev] = offset;
 1588                                  msec_start[rev] = tvb_get_ntohl(tvb, offset);
 1589                                  ts_start[rev].secs = msec_start[rev] / 1000000;
 1590                                  ts_start[rev].nsecs = (msec_start[rev] % 1000000) * 1000000;
 1591                          } else if(type == 159) {
 1592                                  offset_e[rev] = offset;
 1593                                  msec_end[rev] = tvb_get_ntohl(tvb, offset);
 1594                                  ts_end[rev].secs = msec_end[rev] / 1000000;
 1595                                  ts_end[rev].nsecs = (msec_end[rev] % 1000000) * 1000000;
 1596                          }
 1597                          /* This code executed for all timestamp fields above */
 1598                          if(offset_s[rev] && offset_e[rev]) {
 1599                                  nstime_delta(&ts_delta, &ts_end[rev], &ts_start[rev]);
 1600                                  timeitem =
 1601                                    proto_tree_add_time(pdutree, hf_cflow_timedelta, tvb,
 1602                                                        offset_s[rev], 0, &ts_delta);
 1603                                  PROTO_ITEM_SET_GENERATED(timeitem);
 1604                                  timetree = proto_item_add_subtree(timeitem, ett_flowtime);
 1605                                  if (msec_start[rev]) {
 1606                                    proto_tree_add_time(timetree, hf_cflow_timestart, tvb,
 1607                                                        offset_s[rev], length, &ts_start[rev]);
 1608                                  } else {
 1609                                    proto_tree_add_time(timetree, hf_cflow_abstimestart, tvb,
 1610                                                        offset_s[rev], length, &ts_start[rev]);
 1611                                  }
 1612                                  if (msec_end[rev]) {
 1613                                    proto_tree_add_time(timetree, hf_cflow_timeend, tvb,
 1614                                                        offset_e[rev], length, &ts_end[rev]);
 1615                                  } else {
 1616                                    proto_tree_add_time(timetree, hf_cflow_abstimeend, tvb,
 1617                                                        offset_e[rev], length, &ts_end[rev]);
 1618                                  }
 1619                          }
 1620                          break;
 1621   
 1622                  case 23: /* postOctetDeltaCount */
 1623                          if (length == 4) {
 1624                                  proto_tree_add_item(pdutree, hf_cflow_post_octets,
 1625                                      tvb, offset, length, FALSE);
 1626                          } else if (length == 8) {
 1627                                  proto_tree_add_item(pdutree, hf_cflow_post_octets64,
 1628                                      tvb, offset, length, FALSE);
 1629                          } else {
 1630                                  proto_tree_add_text(pdutree,
 1631
2653
Show [ Lines 1631 to 2653 omitted. ]
 2654                                              "(%s) Type %u ",
 2655                                              match_strval(pen, sminmpec_values), type & 0x7fff);
 2656   
 2657                    else 
 2658                          proto_tree_add_text(pdutree, tvb, offset, length,
 2659                                              "%s Type %u %s", pen == REVPEN ? "Reverse" : "",
 2660                                              type & 0x7fff, decode_v9_template_types(type));
 2661                          break;
 2662                  }
 2663   
 2664                  offset += length;
 2665          }
 2666          for (i = 0; i < 2; i++) {
 2667                  if (!(offset_s[i] && offset_e[i])) {
 2668                          if (offset_s[i]) {
 2669                                  if (msec_start[i]) {
 2670                                          proto_tree_add_time(pdutree, hf_cflow_timestart, tvb,
 2671                                                              offset_s[i], 4, &ts_start[i]);
 2672                                  } else {
 2673                                          proto_tree_add_time(pdutree, hf_cflow_abstimestart, tvb,
 2674                                                              offset_s[i], 4, &ts_start[i]);
 2675                                  }
 2676                          }
 2677                          if (offset_e[i]) {
 2678                                  if (msec_end[i]) {
 2679                                          proto_tree_add_time(pdutree, hf_cflow_timeend, tvb,
 2680                                                              offset_e[i], 4, &ts_end[i]);
 2681                                  } else {
 2682                                          proto_tree_add_time(pdutree, hf_cflow_abstimeend, tvb,
 2683[+]                                                             offset_s[i], 4, &ts_start[i]);
expand/collapse

proto_tree_add_time

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.c)expand/collapse
Show more  
 1544  proto_item *
 1545  proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length,
 1546                  nstime_t *value_ptr)
 1547  {
 1548          proto_item              *pi;
 1549          field_info              *new_fi;
 1550          header_field_info       *hfinfo;
 1551   
 1552          if (!tree)
 1553                  return (NULL);
 1554   
 1555          TRY_TO_FAKE_THIS_ITEM(tree, hfindex);
 1556   
 1557          PROTO_REGISTRAR_GET_NTH(hfindex, hfinfo);
 1558          DISSECTOR_ASSERT(hfinfo->type == FT_ABSOLUTE_TIME ||
 1559                                  hfinfo->type == FT_RELATIVE_TIME);
 1560   
 1561          pi = proto_tree_add_pi(tree, hfindex, tvb, start, &length, &new_fi);
 1562[+]         proto_tree_set_time(new_fi, value_ptr);
expand/collapse

proto_tree_set_time

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.c)expand/collapse
Show more  
 1606  proto_tree_set_time(field_info *fi, nstime_t *value_ptr)
 1607  {
 1608          header_field_info       *hfinfo;
 1609   
 1610          DISSECTOR_ASSERT(value_ptr != NULL);
 1611          hfinfo = fi->hfinfo;
 1612   
 1613          if (hfinfo->type == FT_ABSOLUTE_TIME) {
 1614[+]                 col_custom_set_fstr(fi->hfinfo, "%s", abs_time_to_str(value_ptr));
expand/collapse

abs_time_to_str

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/to_str.c)expand/collapse
Show more  
 472  gchar *
 473  abs_time_to_str(nstime_t *abs_time)
 474  {
 475          struct tm *tmp;
 476          gchar *buf;
 477   
 478          buf=ep_alloc(3+1+2+2+4+1+2+1+2+1+2+1+9+1);
 479   
 480   
 481  #ifdef _MSC_VER 
 482          /* calling localtime() on MSVC 2005 with huge values causes it to crash */
 483          /* XXX - find the exact value that still does work */
 484          /* XXX - using _USE_32BIT_TIME_T might be another way to circumvent this problem */
 485          if(abs_time->secs > 2000000000) {
 486              tmp = NULL;
 487          } else 
 488  #endif
 489          tmp = localtime(&abs_time->secs);
 490          if (tmp) {
 491                  g_snprintf(buf, 3+1+2+2+4+1+2+1+2+1+2+1+9+1,
 492                      "%s %2d, %d %02d:%02d:%02d.%09ld",
 493                      mon_names[tmp->tm_mon],
 494                      tmp->tm_mday,
 495                      tmp->tm_year + 1900,
 496                      tmp->tm_hour,
 497                      tmp->tm_min,
 498                      tmp->tm_sec,
 499                      (long)abs_time->nsecs);
Show more  
Show more  
Show more  
Show more  




Change Warning 2847.32079 : Uninitialized Variable

Priority:
State:
Finding:
Owner:
Note: