diff options
| author | 2012-02-11 23:51:31 +0100 | |
|---|---|---|
| committer | 2012-02-11 23:51:31 +0100 | |
| commit | c5173d46a16220a743593e28359770c54adcc65b (patch) | |
| tree | 5cbee51b38b9d10cee641f4c28602c08dd431606 /src/bplist.c | |
| parent | 33b8dfb90ecc5b4b2559c1fb43d7b743b72bf425 (diff) | |
| download | libplist-c5173d46a16220a743593e28359770c54adcc65b.tar.gz libplist-c5173d46a16220a743593e28359770c54adcc65b.tar.bz2 | |
bplist: fix invalid memory access in copy_plist_data
Diffstat (limited to 'src/bplist.c')
| -rw-r--r-- | src/bplist.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bplist.c b/src/bplist.c index 43354be..eff44fc 100644 --- a/src/bplist.c +++ b/src/bplist.c | |||
| @@ -521,12 +521,12 @@ static void* copy_plist_data(const void* src) | |||
| 521 | break; | 521 | break; |
| 522 | case PLIST_DATA: | 522 | case PLIST_DATA: |
| 523 | case PLIST_ARRAY: | 523 | case PLIST_ARRAY: |
| 524 | dstdata->buff = (uint8_t *) malloc(sizeof(uint8_t *) * srcdata->length); | 524 | dstdata->buff = (uint8_t*) malloc(sizeof(uint8_t) * srcdata->length); |
| 525 | memcpy(dstdata->buff, srcdata->buff, sizeof(uint8_t *) * srcdata->length); | 525 | memcpy(dstdata->buff, srcdata->buff, sizeof(uint8_t) * srcdata->length); |
| 526 | break; | 526 | break; |
| 527 | case PLIST_DICT: | 527 | case PLIST_DICT: |
| 528 | dstdata->buff = (uint8_t *) malloc(sizeof(uint8_t *) * srcdata->length * 2); | 528 | dstdata->buff = (uint8_t*) malloc(sizeof(uint8_t) * srcdata->length * 2); |
| 529 | memcpy(dstdata->buff, srcdata->buff, sizeof(uint8_t *) * srcdata->length * 2); | 529 | memcpy(dstdata->buff, srcdata->buff, sizeof(uint8_t) * srcdata->length * 2); |
| 530 | break; | 530 | break; |
| 531 | default: | 531 | default: |
| 532 | break; | 532 | break; |
