]> granicus.if.org Git - libexpat/commit
xmlparse.c: Fix XML_Size/XML_Index cast mixup
authorSebastian Pipping <sebastian@pipping.org>
Tue, 13 Jun 2017 21:10:08 +0000 (23:10 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Tue, 13 Jun 2017 21:37:36 +0000 (23:37 +0200)
commit7e5b71b748491b6e459e5c9a1d090820f94544d8
treec2af44aa8dbe72c03a0277eae6857309331e30ee
parent51308292cd5ae4e3c9801a5ffbd2df49ef87869c
xmlparse.c: Fix XML_Size/XML_Index cast mixup

The "MAX = (type)-1" hack only works for unsigned types:
XML_Size is unsigned but XML_Index is not.
As the positive maximum of signed integers is about
half as big as that of their unsigned counterpart,
we divide by 2.

Example for 2 bit integers:
* signed: -2, -1, 0, 1 == 2^1-1
* unsigned: 0, 1, 2, 3 == 2^2-1

Fixing 4be2cb5afcc018d996f34bbbce6374b7befad47f
expat/lib/xmlparse.c