diff options
| author | 2025-10-29 16:23:56 +0100 | |
|---|---|---|
| committer | 2025-10-29 16:23:56 +0100 | |
| commit | 3588b4dbdb3be8648b47333b97e063c19d7ce9ae (patch) | |
| tree | 2e6898e2831e77cb52937378fa0be0c392e48aa4 | |
| parent | 543e20b9d792bb16d6b3c594da129448f74142c5 (diff) | |
| download | libplist-3588b4dbdb3be8648b47333b97e063c19d7ce9ae.tar.gz libplist-3588b4dbdb3be8648b47333b97e063c19d7ce9ae.tar.bz2 | |
Use sufficiently large data type for indexes/position counters
| -rw-r--r-- | src/base64.c | 2 | ||||
| -rw-r--r-- | src/bplist.c | 22 | 
2 files changed, 12 insertions, 12 deletions
| diff --git a/src/base64.c b/src/base64.c index ee02356..76990b9 100644 --- a/src/base64.c +++ b/src/base64.c @@ -78,7 +78,7 @@ unsigned char *base64decode(const char *buf, size_t *size)  	if (len <= 0) return NULL;  	unsigned char *outbuf = (unsigned char*)malloc((len/4)*3+3);  	const char *ptr = buf; -	int p = 0; +	size_t p = 0;  	int wv, w1, w2, w3, w4;  	int tmpval[4];  	int tmpcnt = 0; diff --git a/src/bplist.c b/src/bplist.c index 85e55e2..08fca87 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -369,13 +369,13 @@ static plist_t parse_string_node(const char **bnode, uint64_t size)      return node_create(NULL, data);  } -static char *plist_utf16be_to_utf8(uint16_t *unistr, long len, long *items_read, long *items_written) +static char *plist_utf16be_to_utf8(uint16_t *unistr, size_t len, size_t *items_read, size_t *items_written)  {  	if (!unistr || (len <= 0)) return NULL;  	char* outbuf;  	char* outbuf_new; -	int p = 0; -	long i = 0; +	size_t p = 0; +	size_t i = 0;  	uint16_t wc;  	uint32_t w; @@ -443,8 +443,8 @@ static char *plist_utf16be_to_utf8(uint16_t *unistr, long len, long *items_read,  static plist_t parse_unicode_node(const char **bnode, uint64_t size)  {      plist_data_t data = plist_new_plist_data(); -    long items_read = 0; -    long items_written = 0; +    size_t items_read = 0; +    size_t items_written = 0;      data->type = PLIST_STRING;      data->strval = plist_utf16be_to_utf8((uint16_t*)(*bnode), size, &items_read, &items_written); @@ -1097,11 +1097,11 @@ static void write_string(bytearray_t * bplist, char *val, uint64_t size)      write_raw_data(bplist, BPLIST_STRING, (uint8_t *) val, size);  } -static uint16_t *plist_utf8_to_utf16be(char *unistr, long size, long *items_read, long *items_written) +static uint16_t *plist_utf8_to_utf16be(char *unistr, size_t size, size_t *items_read, size_t *items_written)  {  	uint16_t *outbuf; -	int p = 0; -	long i = 0; +	size_t p = 0; +	size_t i = 0;  	unsigned char c0;  	unsigned char c1; @@ -1156,10 +1156,10 @@ static uint16_t *plist_utf8_to_utf16be(char *unistr, long size, long *items_read  	return outbuf;  } -static void write_unicode(bytearray_t * bplist, char *val, uint64_t size) +static void write_unicode(bytearray_t * bplist, char *val, size_t size)  { -    long items_read = 0; -    long items_written = 0; +    size_t items_read = 0; +    size_t items_written = 0;      uint16_t *unicodestr = NULL;      unicodestr = plist_utf8_to_utf16be(val, size, &items_read, &items_written); | 
