Fix cast from pointer to integer of different size
Test: make
Bug: 29149404
Change-Id: I9be82ac4dfb430c8d7398aa69b100820957f6279
(cherry picked from commit 8caa27c2601e69bc404ff28fc4c5c39860d8d5bf)
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index e12853c..0655e08 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -3,6 +3,7 @@
*/
#include <stddef.h>
+#include <stdint.h>
#include <string.h> /* memset(), memcpy() */
#include <assert.h>
#include <limits.h> /* UINT_MAX */
@@ -722,7 +723,7 @@
/* Process ID is 0 bits entropy if attacker has local access
* XML_Parser address is few bits of entropy if attacker has local access */
const unsigned long entropy =
- gather_time_entropy() ^ getpid() ^ (unsigned long)parser;
+ gather_time_entropy() ^ getpid() ^ (uintptr_t)parser;
/* Factors are 2^31-1 and 2^61-1 (Mersenne primes M31 and M61) */
if (sizeof(unsigned long) == 4) {