diff options
| author | 2017-02-07 02:27:03 +0100 | |
|---|---|---|
| committer | 2017-02-07 02:27:03 +0100 | |
| commit | 8c5eae9847edc1e65ba70bb76e042bccfee555c4 (patch) | |
| tree | 6205954490af81a540adcb30c51c386998944c06 /src/xplist.c | |
| parent | eb929319388cb7f48141b3fde062a8392fe4c00d (diff) | |
| download | libplist-8c5eae9847edc1e65ba70bb76e042bccfee555c4.tar.gz libplist-8c5eae9847edc1e65ba70bb76e042bccfee555c4.tar.bz2 | |
xplist: Fix OOB read when parsing node text content
Diffstat (limited to 'src/xplist.c')
| -rw-r--r-- | src/xplist.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/xplist.c b/src/xplist.c index 0e8b7e6..f73b12d 100644 --- a/src/xplist.c +++ b/src/xplist.c | |||
| @@ -528,7 +528,7 @@ static text_part_t* get_text_parts(parse_ctx ctx, const char* tag, size_t tag_le | |||
| 528 | do { | 528 | do { |
| 529 | p = ctx->pos; | 529 | p = ctx->pos; |
| 530 | find_char(ctx, '<', 0); | 530 | find_char(ctx, '<', 0); |
| 531 | if (*ctx->pos != '<') { | 531 | if (ctx->pos >= ctx->end || *ctx->pos != '<') { |
| 532 | PLIST_XML_ERR("EOF while looking for closing tag\n"); | 532 | PLIST_XML_ERR("EOF while looking for closing tag\n"); |
| 533 | ctx->err++; | 533 | ctx->err++; |
| 534 | return NULL; | 534 | return NULL; |
