Text   |  XML   |  ReML   |   Visible Warnings:

Useless Assignment  at packet-ieee80211.c:12211

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

set_airpdcap_keys

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ieee80211.c)expand/collapse
Show more  
 12198  void set_airpdcap_keys(void)
 12199  {
 12200    guint i = 0;
 12201    AIRPDCAP_KEY_ITEM key;
 12202    PAIRPDCAP_KEYS_COLLECTION keys;
 12203    decryption_key_t* dk = NULL;
 12204    GByteArray *bytes = NULL;
 12205    gboolean res;
 12206    gchar* tmpk = NULL;
 12207   
 12208    keys=(PAIRPDCAP_KEYS_COLLECTION)g_malloc(sizeof(AIRPDCAP_KEYS_COLLECTION));
 12209    keys->nKeys = 0;
 12210   
 12211    for(i = 0; i < MAX_ENCRYPTION_KEYS; i++)
 12212    {
 12213      tmpk = g_strdup(wep_keystr[i]);
 12214   
 12215      dk = parse_key_string(tmpk);
 12216   
 12217      if(dk != NULL)
 12218      {
 12219        if(dk->type == AIRPDCAP_KEY_TYPE_WEP)
 12220        {
 12221          key.KeyType = AIRPDCAP_KEY_TYPE_WEP;
 12222   
 12223          bytes = g_byte_array_new();
 12224          res = wep_str_to_bytes(dk->key->str, bytes);
 12225   
 12226          if (dk->key->str && res && bytes->len > 0 && bytes->len <= AIRPDCAP_WEP_KEY_MAXLEN)
 12227          {
 12228            /*
 12229             * WEP key is correct (well, the can be even or odd, so it is not
 12230             * a real check, I think... is a check performed somewhere in the 
 12231             * AirPDcap function??? )
 12232             */
 12233            memcpy(key.KeyData.Wep.WepKey, bytes->data, bytes->len);
 12234            key.KeyData.Wep.WepKeyLen = bytes->len;
 12235            keys->Keys[keys->nKeys] = key;
 12236            keys->nKeys++;
 12237          }
 12238        }
 12239        else if(dk->type == AIRPDCAP_KEY_TYPE_WPA_PWD)
 12240        {
 12241          key.KeyType = AIRPDCAP_KEY_TYPE_WPA_PWD;
 12242   
 12243          /* XXX - This just lops the end if the key off if it's too long.
 12244           *       Should we handle this more gracefully? */
 12245          g_strlcpy(key.UserPwd.Passphrase, dk->key->str, AIRPDCAP_WPA_PASSPHRASE_MAX_LEN);
 12246   
 12247          key.UserPwd.SsidLen = 0;
 12248          if(dk->ssid != NULL && dk->ssid->len <= AIRPDCAP_WPA_SSID_MAX_LEN)
 12249          {
 12250            memcpy(key.UserPwd.Ssid, dk->ssid->data, dk->ssid->len);
 12251            key.UserPwd.SsidLen = dk->ssid->len;
 12252          }
 12253   
 12254          keys->Keys[keys->nKeys] = key;
 12255          keys->nKeys++;
 12256        }
 12257        else if(dk->type == AIRPDCAP_KEY_TYPE_WPA_PMK)
 12258        {
 12259          key.KeyType = AIRPDCAP_KEY_TYPE_WPA_PMK;
 12260   
 12261          bytes = g_byte_array_new();
 12262          res = wep_str_to_bytes(dk->key->str, bytes);
 12263   
 12264          /* XXX - Pass the correct array of bytes... */
 12265          if (bytes-> len <= AIRPDCAP_WPA_PMK_LEN) {
 12266            memcpy(key.KeyData.Wpa.Pmk, bytes->data, bytes->len);
 12267   
 12268            keys->Keys[keys->nKeys] = key;
 12269            keys->nKeys++;
 12270          }
 12271        }
 12272      }
 12273      g_free(tmpk);
 12274    }
 12275   
 12276    /* Now set the keys */
 12277    AirPDcapSetKeys(&airpdcap_ctx,keys->Keys,keys->nKeys);
 12278    g_free(keys);
 12279    if (bytes)
 12280      g_byte_array_free(bytes, TRUE);
 12281   
 12282  }
Show more  




Change Warning 2665.30555 : Useless Assignment

Priority:
State:
Finding:
Owner:
Note: