diff options
| author | 2014-03-21 02:06:51 +0100 | |
|---|---|---|
| committer | 2014-03-21 02:06:51 +0100 | |
| commit | 80d3d2cfa9ae1c6cc8b0e004373e8bc8c368dd56 (patch) | |
| tree | a51e972463000df88f4f48cf04f707ecc95b6a09 | |
| parent | b5fa8eea8b41950af18db373d15115e0c900d3d4 (diff) | |
| download | libimobiledevice-80d3d2cfa9ae1c6cc8b0e004373e8bc8c368dd56.tar.gz libimobiledevice-80d3d2cfa9ae1c6cc8b0e004373e8bc8c368dd56.tar.bz2 | |
userpref: Fix invalid plist_free() which caused pair process to fail
| -rw-r--r-- | common/userpref.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/common/userpref.c b/common/userpref.c index 65f1988..3399036 100644 --- a/common/userpref.c +++ b/common/userpref.c | |||
| @@ -1006,6 +1006,7 @@ userpref_error_t pair_record_get_item_as_key_data(plist_t pair_record, const cha | |||
| 1006 | if (!pair_record || !value) | 1006 | if (!pair_record || !value) |
| 1007 | return USERPREF_E_INVALID_ARG; | 1007 | return USERPREF_E_INVALID_ARG; |
| 1008 | 1008 | ||
| 1009 | userpref_error_t ret = USERPREF_E_SUCCESS; | ||
| 1009 | char* buffer = NULL; | 1010 | char* buffer = NULL; |
| 1010 | uint64_t length = 0; | 1011 | uint64_t length = 0; |
| 1011 | 1012 | ||
| @@ -1018,12 +1019,14 @@ userpref_error_t pair_record_get_item_as_key_data(plist_t pair_record, const cha | |||
| 1018 | value->size = length; | 1019 | value->size = length; |
| 1019 | free(buffer); | 1020 | free(buffer); |
| 1020 | buffer = NULL; | 1021 | buffer = NULL; |
| 1022 | } else { | ||
| 1023 | ret = USERPREF_E_INVALID_CONF; | ||
| 1021 | } | 1024 | } |
| 1022 | 1025 | ||
| 1023 | if (node) | 1026 | if (buffer) |
| 1024 | plist_free(node); | 1027 | free(buffer); |
| 1025 | 1028 | ||
| 1026 | return USERPREF_E_SUCCESS; | 1029 | return ret; |
| 1027 | } | 1030 | } |
| 1028 | 1031 | ||
| 1029 | userpref_error_t pair_record_set_item_from_key_data(plist_t pair_record, const char* name, key_data_t *value) | 1032 | userpref_error_t pair_record_set_item_from_key_data(plist_t pair_record, const char* name, key_data_t *value) |
