diff options
| -rw-r--r-- | src/bplist.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bplist.c b/src/bplist.c index 746c13e..fd0280c 100644 --- a/src/bplist.c +++ b/src/bplist.c | |||
| @@ -808,7 +808,7 @@ void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length) | |||
| 808 | //write offsets | 808 | //write offsets |
| 809 | offset_size = get_needed_bytes(bplist_buff->len); | 809 | offset_size = get_needed_bytes(bplist_buff->len); |
| 810 | offset_table_index = bplist_buff->len; | 810 | offset_table_index = bplist_buff->len; |
| 811 | for (i = 0; i <= num_objects; i++) { | 811 | for (i = 0; i < num_objects; i++) { |
| 812 | uint8_t *offsetbuff = (uint8_t *) malloc(offset_size); | 812 | uint8_t *offsetbuff = (uint8_t *) malloc(offset_size); |
| 813 | memcpy(offsetbuff, offsets + i, offset_size); | 813 | memcpy(offsetbuff, offsets + i, offset_size); |
| 814 | byte_convert(offsetbuff, offset_size); | 814 | byte_convert(offsetbuff, offset_size); |
| @@ -816,6 +816,10 @@ void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length) | |||
| 816 | free(offsetbuff); | 816 | free(offsetbuff); |
| 817 | } | 817 | } |
| 818 | 818 | ||
| 819 | //experimental pad to reflect apple's files | ||
| 820 | uint8_t pad[6] = {0, 0, 0, 0, 0, 0}; | ||
| 821 | g_byte_array_append(bplist_buff, pad, 6); | ||
| 822 | |||
| 819 | //setup trailer | 823 | //setup trailer |
| 820 | num_objects = GUINT64_FROM_BE(num_objects); | 824 | num_objects = GUINT64_FROM_BE(num_objects); |
| 821 | root_object = GUINT64_FROM_BE(root_object); | 825 | root_object = GUINT64_FROM_BE(root_object); |
