summaryrefslogtreecommitdiffstats
path: root/src/plist.c
diff options
context:
space:
mode:
authorGravatar Jonathan Beck2008-08-17 22:15:44 +0200
committerGravatar Jonathan Beck2008-08-21 19:13:35 +0200
commitef6206f51596d3c643dc0efe441ecaa0159f5632 (patch)
tree869cb749fcfdb1b06d5ee76f103ac72a72575e05 /src/plist.c
parentab38ab2ec7166f35aa0b8943d0b9f020c514e024 (diff)
downloadlibimobiledevice-ef6206f51596d3c643dc0efe441ecaa0159f5632.tar.gz
libimobiledevice-ef6206f51596d3c643dc0efe441ecaa0159f5632.tar.bz2
use NULL at end of dictionary values (fixes a memory leak).
Diffstat (limited to 'src/plist.c')
-rw-r--r--src/plist.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/plist.c b/src/plist.c
index e64cff2..31490d0 100644
--- a/src/plist.c
+++ b/src/plist.c
@@ -212,7 +212,7 @@ char **read_dict_element_strings(xmlNode *dict) {
212 212
213 old = return_me; 213 old = return_me;
214 return_me = realloc(return_me, sizeof(char*) * (current_length+1)); 214 return_me = realloc(return_me, sizeof(char*) * (current_length+1));
215 return_me[current_pos] = strdup(""); 215 return_me[current_pos] = NULL;
216 216
217 return return_me; 217 return return_me;
218} 218}
@@ -224,11 +224,10 @@ void free_dictionary(char **dictionary) {
224 224
225 if (!dictionary) return; 225 if (!dictionary) return;
226 226
227 for (i = 0; strcmp(dictionary[i], ""); i++) { 227 for (i = 0; dictionary[i]; i++) {
228 free(dictionary[i]); 228 free(dictionary[i]);
229 } 229 }
230 230
231 free(dictionary[i]);
232 free(dictionary); 231 free(dictionary);
233} 232}
234 233