If there is not 80211_keys file, using Decryption Management Key don't create the file and keys is not saved.
From me:
Use a err2 variable to avoid to break API/ABI when backport to 1.8
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@48900
f5534014-38df-0310-8fa8-
9805f1628bb7
keys_cb_data_t* user_data;
uat_t *uat;
gint i;
- char* err = NULL;
+ const char* err = NULL;
+ char* err2 = NULL;
uat_wep_key_record_t uat_key;
decryption_key_t* new_key;
if (g_ascii_strcasecmp(pref->name, "wep_key_table") == 0 && pref->type == PREF_UAT)
{
uat = (uat_t *)pref->varp.uat;
- /* UAT must be loaded */
if (!uat->loaded)
- return 1;
+ {
+ /* UAT will only be loaded if previous keys exist, so it may need
+ to be loaded now */
+ uat_load(uat, &err);
+ if (err != NULL)
+ return 1;
+ uat->loaded = 1;
+ }
/* Free the old records */
uat_clear(uat);
uat_add_record(uat, &uat_key);
}
- uat_save(uat, &err);
- if (err != NULL)
+ uat_save(uat, &err2);
+ if (err2 != NULL)
return 1;
}