diff options
| author | 2008-08-17 22:15:44 +0200 | |
|---|---|---|
| committer | 2008-08-21 19:13:35 +0200 | |
| commit | ef6206f51596d3c643dc0efe441ecaa0159f5632 (patch) | |
| tree | 869cb749fcfdb1b06d5ee76f103ac72a72575e05 /src/plist.c | |
| parent | ab38ab2ec7166f35aa0b8943d0b9f020c514e024 (diff) | |
| download | libimobiledevice-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.c | 7 |
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 | ||
