summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2025-10-29 16:43:35 +0100
committerGravatar Nikias Bassen2025-10-29 16:43:35 +0100
commit613a76fb86294aa9ebff172932978c67b4d3cc3d (patch)
tree405c6833399282635606d59de5facac71d378884 /src
parent2bcc19589d9f34bb25f04bd0d4b755bbe06c9271 (diff)
downloadlibplist-613a76fb86294aa9ebff172932978c67b4d3cc3d.tar.gz
libplist-613a76fb86294aa9ebff172932978c67b4d3cc3d.tar.bz2
xplist: Fix possible integer overflow
Thanks to @ylwango613 for reporting
Diffstat (limited to 'src')
-rw-r--r--src/xplist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xplist.c b/src/xplist.c
index 66e1dba..7e39ea4 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -1066,7 +1066,7 @@ static plist_err_t node_from_xml(parse_ctx ctx, plist_t *plist)
ctx->err++;
goto err_out;
}
- int taglen = ctx->pos - p;
+ size_t taglen = ctx->pos - p;
tag = (char*)malloc(taglen + 1);
strncpy(tag, p, taglen);
tag[taglen] = '\0';
@@ -1084,7 +1084,7 @@ static plist_err_t node_from_xml(parse_ctx ctx, plist_t *plist)
goto err_out;
}
if (*(ctx->pos-1) == '/') {
- int idx = ctx->pos - p - 1;
+ size_t idx = ctx->pos - p - 1;
if (idx < taglen)
tag[idx] = '\0';
is_empty = 1;