diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-11-22 13:31:52 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-11-22 13:31:52 -0800 |
commit | a6b35141e4d38b045182d0820cf4e3e9bd2143eb (patch) | |
tree | a74b590ed083a2191cbee0e6ee453aa9a67a6d44 /parse-xml.c | |
parent | 781266bf180c84f229798c0d420d4fc3a7a1d29b (diff) | |
download | subsurface-a6b35141e4d38b045182d0820cf4e3e9bd2143eb.tar.gz |
Don't parse 32bit hex values with strtol
On a 32bit machine this will truncate values with MSB set to 0x7fffffff
Fixes #164
(thanks to Linus for pointing me in the right direction)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'parse-xml.c')
-rw-r--r-- | parse-xml.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/parse-xml.c b/parse-xml.c index a7a44c5d0..97c93fc6d 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -656,7 +656,7 @@ static void double_to_permil(char *buffer, void *_i) static void hex_value(char *buffer, void *_i) { uint32_t *i = _i; - *i = strtol(buffer, NULL, 16); + *i = strtoul(buffer, NULL, 16); } static void get_tripflag(char *buffer, void *_tf) |