Text   |  XML   |  ReML   |   Visible Warnings:

Useless Assignment  at msg_dlmap.c:2390

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

dissect_dlmap_ie

(/home/sate/Testcases/c/cve/wireshark-1.2.0/plugins/wimax/msg_dlmap.c)expand/collapse
Show more  
 2216  gint dissect_dlmap_ie(proto_tree *ie_tree, const guint8 *bufptr, gint offset, gint length, tvbuff_t *tvb)
 2217  {
 2218      /* decode a single DL-MAP IE and return the
 2219       * length of the IE in nibbles
 2220       * offset = start of IE (nibbles)
 2221       * length = total length of bufptr (nibbles) */
 2222      proto_item *ti = NULL;
 2223      proto_tree *tree = NULL;
 2224   
 2225      gint nibble = offset;
 2226      gint diuc;
 2227      gint ext2_diuc;
 2228      gint len;
 2229      gint ext_diuc;
 2230   
 2231      gint alt_format = 0;
 2232      guint data = 0;
 2233      gint i;
 2234      gint papr = 0;
 2235      gint ie_len = 9;
 2236   
 2237      gint n_cid;
 2238   
 2239      /* 8.4.5.3 DL-MAP IE format - table 275 */
 2240      diuc = NIB_NIBBLE(nibble, bufptr);
 2241      if (diuc == 14)
 2242      {
 2243          /* 8.4.5.3.2.2 [2] Extended-2 DIUC dependent IE table 277b */
 2244          ext2_diuc = NIB_NIBBLE(1+nibble, bufptr);
 2245          len = NIB_BYTE(1+nibble+1, bufptr);
 2246   
 2247          ti = proto_tree_add_uint(ie_tree, hf_dlmap_ie_diuc, tvb, NIBHI(nibble, 1+3+len*2), diuc);
 2248          proto_item_append_text(ti, " (Extended-2)");
 2249          tree = proto_item_add_subtree(ti, ett_277b);
 2250          nibble++;
 2251   
 2252          len = 3 + BYTE_TO_NIB(len);
 2253   
 2254          /* table 277c [2] */
 2255          switch (ext2_diuc)
 2256          {
 2257              case 0x00:
 2258                  /* 8.4.5.3.12 MBS_MAP_IE */
 2259                  nibble = MBS_MAP_IE(tree, bufptr, nibble, len, tvb);
 2260                  break;
 2261              case 0x01:
 2262                  /* 8.4.5.3.14 HO_Anchor_Active_DL-MAP_IE */
 2263                  nibble = HO_Anchor_Active_DL_MAP_IE(tree, bufptr, nibble, len, tvb);
 2264                  break;
 2265              case 0x02:
 2266                  /* 8.4.5.3.15 HO_Active_Anchor_DL_MAP_IE */
 2267                  nibble = HO_Active_Anchor_DL_MAP_IE(tree, bufptr, nibble, len, tvb);
 2268                  break;
 2269              case 0x03:
 2270                  /* 8.4.5.3.16 HO_CID_Translation_MAP_IE */
 2271                  nibble = HO_CID_Translation_MAP_IE(tree, bufptr, nibble, len, tvb);
 2272                  break;
 2273              case 0x04:
 2274                  /* 8.4.5.3.17 MIMO_in_another_BS_IE */
 2275                  nibble = MIMO_in_another_BS_IE(tree, bufptr, nibble, len, tvb);
 2276                  break;
 2277              case 0x05:
 2278                  /* 8.4.5.3.18 Macro-MIMO_DL_Basic_IE */
 2279                  nibble = Macro_MIMO_DL_Basic_IE(tree, bufptr, nibble, len, tvb);
 2280                  break;
 2281              case 0x06:
 2282                  /* 8.4.5.3.20.2 Skip_IE */
 2283                  nibble = Skip_IE(tree, bufptr, nibble, len, tvb);
 2284                  break;
 2285              case 0x07:
 2286                  /* 8.4.5.3.21 HARQ_DL_MAP_IE */
 2287                  nibble = HARQ_DL_MAP_IE(tree, bufptr, nibble, len, tvb);
 2288                  break;
 2289              case 0x08:
 2290                  /* 8.4.5.3.22 HARQ_ACK IE */
 2291                  nibble = HARQ_ACK_IE(tree, bufptr, nibble, len, tvb);
 2292                  break;
 2293              case 0x09:
 2294                  /* 8.4.5.3.23 Enhanced DL MAP IE */
 2295                  nibble = Enhanced_DL_MAP_IE(tree, bufptr, nibble, len, tvb);
 2296                  break;
 2297              case 0x0a:
 2298                  /* 8.4.5.3.24 Closed-loop MIMO DL Enhanced IE */
 2299                  nibble = Closed_loop_MIMO_DL_Enhanced_IE(tree, bufptr, nibble, len, tvb);
 2300                  break;
 2301              case 0x0b:
 2302                  nibble = MIMO_DL_Basic_IE(tree, bufptr, nibble, len, tvb);
 2303                  break;
 2304              case 0x0c:
 2305                  nibble = MIMO_DL_Enhanced_IE(tree, bufptr, nibble, len, tvb);
 2306                  break;
 2307   
 2308              case 0x0e:
 2309                  nibble = AAS_SDMA_DL_IE(tree, bufptr, nibble, len, tvb);
 2310                  break;
 2311   
 2312              default:
 2313                  proto_tree_add_text(tree, tvb, NIBHI(nibble,len), "(reserved Extended-2 DIUC: %d)", ext2_diuc);
 2314                  nibble += len;
 2315                  break;
 2316   
 2317          }
 2318      }
 2319      else if (diuc == 15)
 2320      {
 2321          /* 8.4.5.3.2.1 [1] Extended DIUC dependent IE - table 277 */
 2322          ext_diuc = NIB_NIBBLE(1+nibble, bufptr);
 2323          len = NIB_NIBBLE(1+nibble+1, bufptr);
 2324   
 2325          ti = proto_tree_add_uint(ie_tree, hf_dlmap_ie_diuc,  tvb, NIBHI(nibble, 1+2+len*2), diuc);
 2326          proto_item_append_text(ti, " (Extended)");
 2327          tree = proto_item_add_subtree(ti, ett_277);
 2328          nibble++;
 2329   
 2330          len = 2 + BYTE_TO_NIB(len);
 2331   
 2332          /* TODO 8.4.5.3.27 PUSC_ASCA_IE -- unspecified ExtDIUC? */
 2333   
 2334          /* 8.4.5.3.2.1 table 277a */
 2335          switch (ext_diuc)
 2336          {
 2337              case 0x00:
 2338                  /* 8.4.5.3.? Channel_Measurement_IE */
 2339                  nibble = Channel_Measurement_IE(tree, bufptr, nibble, len, tvb);
 2340                  break;
 2341              case 0x01:
 2342                  /* 8.4.5.3.4 STC_Zone_IE */
 2343                  nibble = STC_Zone_IE(tree, bufptr, nibble, len, tvb);
 2344                  break;
 2345              case 0x02:
 2346                  /* 8.4.5.3.3 AAS_DL_IE */
 2347                  nibble = AAS_DL_IE(tree, bufptr, nibble, len, tvb);
 2348                  break;
 2349              case 0x03:
 2350                  /* 8.4.5.3.6 Data_location_in_another_BS_IE */
 2351                  nibble = Data_location_in_another_BS_IE(tree, bufptr, nibble, len, tvb);
 2352                  break;
 2353              case 0x04:
 2354                  /* 8.4.5.3.7 CID_Switch_IE */
 2355                  nibble = CID_Switch_IE(tree, bufptr, nibble, len, tvb);
 2356                  break;
 2357              case 0x07:
 2358                  /* 8.4.5.3.10 HARQ_Map_Pointer_IE */
 2359                  nibble = HARQ_Map_Pointer_IE(tree, bufptr, nibble, len, tvb);
 2360                  break;
 2361              case 0x08:
 2362                  /* 8.4.5.3.11 PHYMOD_DL_IE */
 2363                  nibble = PHYMOD_DL_IE(tree, bufptr, nibble, len, tvb);
 2364                  break;
 2365   
 2366              case 0x0b:
 2367                  /* 8.4.5.3.13 DL PUSC Burst Allocation in Other Segment IE */
 2368                  nibble = DL_PUSC_Burst_Allocation_in_Other_Segment_IE(tree, bufptr, nibble, len, tvb);
 2369                  break;
 2370              case 0x0c:
 2371                  nibble = PUSC_ASCA_Alloc_IE(tree, bufptr, nibble, len, tvb);
 2372                  break;
 2373   
 2374              case 0x0f:
 2375                  /* 8.4.5.3.19 UL_interference_and_noise_level_IE */
 2376                  nibble = UL_interference_and_noise_level_IE(tree, bufptr, nibble, len, tvb);
 2377                  break;
 2378   
 2379              default:
 2380                  proto_tree_add_text(tree, tvb, NIBHI(nibble,len), "(reserved Extended DIUC: %d)", ext_diuc);
 2381                  nibble += len;
 2382                  break;
 2383          }
 2384      }
 2385      else 
 2386      {
 2387          /* Downlink IE */
 2388          alt_format = 0;
 2389          data = 0;
 2390          papr = 0;
 2391          ie_len = 9;
 2392   
 2393          /* TODO: alt_format = 1 if (Permutation == 0x11) and (AMC type is 2x3 or 1x6) */
 2394   
 2395          /* precalculate IE len for correct highlighting */
 2396          if (INC_CID && !sub_dl_ul_map) {
 2397              ie_len += 2 + (NIB_BYTE(nibble+1, bufptr) * 4);
 2398          }
 2399   
 2400          /* DL-MAP_IE */
 2401          ti = proto_tree_add_uint(ie_tree, hf_dlmap_ie_diuc,  tvb, NIBHI(nibble, ie_len), diuc);
 2402          tree = proto_item_add_subtree(ti, ett_275_1);
 2403          nibble += 1;
 2404   
 2405          if (diuc == 13) {
 2406              /* 8.4.5.3.1 [1] Gap/PAPR Reduction */
 2407              papr = 1;
 2408              proto_item_append_text(ti, " (Gap/PAPR Reduction)");
 2409          }
 2410   
 2411   
 2412          if (INC_CID)
 2413          {
 2414              n_cid = NIB_BYTE(nibble, bufptr);
 2415              proto_tree_add_uint(tree, hf_dlmap_ie_ncid, tvb, NIBHI(nibble, 2), n_cid);
 2416              nibble += 2;
 2417   
 2418              for (i = 0; i < n_cid; i++)
 2419              {
 2420                  if (sub_dl_ul_map) {
 2421                      /* RCID_IE 8.4.5.3 and 8.4.5.3.20.1, only part of SUB-DL-UL-MAP */
 2422                      /* RCID_Type comes from 6.3.2.3.43.2 [2] Format_configuration_IE in Compact_DL-MAP_IE */
 2423                      nibble += RCID_IE(tree, bufptr, nibble*4, length, tvb, RCID_Type) / 4;
 2424                  } else {
 2425                      data = NIB_WORD(nibble, bufptr);
 2426                      proto_tree_add_uint(tree, hf_dlmap_ie_cid, tvb, NIBHI(nibble, 4), data);
 2427                      nibble += 4;
 2428                  }
 2429              }
 2430          }
 2431   
 2432          data = NIB_LONG(nibble, bufptr);
 2433          if (alt_format) {
 2434              proto_tree_add_uint(tree, hf_dlmap_ie_offsym2,   tvb, NIBHI(nibble, 8), data);
 2435              proto_tree_add_uint(tree, hf_dlmap_ie_offsub2,   tvb, NIBHI(nibble, 8), data);
 2436              proto_tree_add_uint(tree, hf_dlmap_ie_boosting2, tvb, NIBHI(nibble, 8), data);
 2437              proto_tree_add_uint(tree, hf_dlmap_ie_numsym2,   tvb, NIBHI(nibble, 8), data);
 2438              proto_tree_add_uint(tree, hf_dlmap_ie_numsub2,   tvb, NIBHI(nibble, 8), data);
 2439              proto_tree_add_uint(tree, hf_dlmap_ie_rep2,      tvb, NIBHI(nibble, 8), data);
 2440          } else {
 2441              proto_tree_add_uint(tree, hf_dlmap_ie_offsym,    tvb, NIBHI(nibble, 8), data);
 2442              proto_tree_add_uint(tree, hf_dlmap_ie_offsub,    tvb, NIBHI(nibble, 8), data);
 2443              proto_tree_add_uint(tree, hf_dlmap_ie_boosting,  tvb, NIBHI(nibble, 8), data);
 2444              proto_tree_add_uint(tree, hf_dlmap_ie_numsym,    tvb, NIBHI(nibble, 8), data);
 2445              proto_tree_add_uint(tree, hf_dlmap_ie_numsub,    tvb, NIBHI(nibble, 8), data);
 2446              proto_tree_add_uint(tree, hf_dlmap_ie_rep,       tvb, NIBHI(nibble, 8), data);
 2447          }
 2448          nibble += 8;
 2449      }
 2450   
 2451      /* length in nibbles */
 2452      return (nibble - offset);
 2453  }
Show more  




Change Warning 3918.31706 : Useless Assignment

Priority:
State:
Finding:
Owner:
Note: