Browse Source

keystore: factor vlc_keystore_release_entry

pull/39/head
Thomas Guillem 11 years ago
parent
commit
64ae53f4ee
  1. 12
      include/vlc_keystore.h
  2. 13
      modules/keystore/plaintext.c
  3. 7
      src/misc/keystore.c

12
include/vlc_keystore.h

@ -267,6 +267,18 @@ vlc_keystore_entry_set_secret(vlc_keystore_entry *p_entry,
return VLC_SUCCESS;
}
static inline void
vlc_keystore_release_entry(vlc_keystore_entry *p_entry)
{
for (unsigned int j = 0; j < KEY_MAX; ++j)
{
free(p_entry->ppsz_values[j]);
p_entry->ppsz_values[j] = NULL;
}
free(p_entry->p_secret);
p_entry->p_secret = NULL;
}
typedef struct vlc_keystore_sys vlc_keystore_sys;
struct vlc_keystore
{

13
modules/keystore/plaintext.c

@ -360,15 +360,7 @@ Store(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX],
vlc_keystore_entry *p_entry = list_get_entry(p_list, ppsz_values, NULL);
if (p_entry)
{
free(p_entry->p_secret);
p_entry->p_secret = NULL;
for (unsigned int i = 0; i < KEY_MAX; ++i)
{
free(p_entry->ppsz_values[i]);
p_entry->ppsz_values[i] = NULL;
}
}
vlc_keystore_release_entry(p_entry);
else
{
p_entry = list_new_entry(p_list);
@ -441,8 +433,7 @@ Remove(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX])
while ((p_entry = list_get_entry(p_list, ppsz_values, &i_index)))
{
free(p_entry->p_secret);
p_entry->p_secret = NULL;
vlc_keystore_release_entry(p_entry);
i_count++;
}

7
src/misc/keystore.c

@ -116,12 +116,7 @@ void
vlc_keystore_release_entries(vlc_keystore_entry *p_entries, unsigned int i_count)
{
for (unsigned int i = 0; i < i_count; ++i)
{
vlc_keystore_entry *p_entry = &p_entries[i];
for (unsigned int j = 0; j < KEY_MAX; ++j)
free(p_entry->ppsz_values[j]);
free(p_entry->p_secret);
}
vlc_keystore_release_entry(&p_entries[i]);
free(p_entries);
}

Loading…
Cancel
Save