summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2012-02-11 23:51:31 +0100
committerGravatar Nikias Bassen2012-02-11 23:51:31 +0100
commitc5173d46a16220a743593e28359770c54adcc65b (patch)
tree5cbee51b38b9d10cee641f4c28602c08dd431606
parent33b8dfb90ecc5b4b2559c1fb43d7b743b72bf425 (diff)
downloadlibplist-c5173d46a16220a743593e28359770c54adcc65b.tar.gz
libplist-c5173d46a16220a743593e28359770c54adcc65b.tar.bz2
bplist: fix invalid memory access in copy_plist_data
-rw-r--r--src/bplist.c8
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;