(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ieee80211.c) |
| |
| 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++) |
Useless Assignment
This code assigns the variable the same value it already had. |
|
| 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 | | | |
| 12230 | | | |
| 12231 | | | |
| 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 | | | |
| 12244 | | | |
| 12245 | | | g_strlcpy(key.UserPwd.Passphrase, dk->key->str, AIRPDCAP_WPA_PASSPHRASE_MAX_LEN);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/crypt/airpdcap_user.h |
| |
68 | #define AIRPDCAP_WPA_PASSPHRASE_MAX_LEN 63 /* null-terminated string, the actual length of the storage is 64 */ |
| |
|
| 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 | | | |
| 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 | | | |
| 12277 | | | AirPDcapSetKeys(&airpdcap_ctx,keys->Keys,keys->nKeys); |
| 12278 | | | g_free(keys); |
| 12279 | | | if (bytes) |
| 12280 | | | g_byte_array_free(bytes, TRUE); |
| 12281 | | | |
| 12282 | | | } |
| |