Author: brane
Date: Sun Nov 22 04:46:46 2020
New Revision: 1883716
URL: http://svn.apache.org/viewvc?rev=1883716&view=rev
Log:
Follow up to r1883712: Don't hide value truncation.
* subversion/libsvn_subr/sysinfo.c (parse_pointer_value):
Cast to apr_uintptr_t only when converting a pointer value.
Modified:
subversion/trunk/subversion/libsvn_subr/sysinfo.c
Modified: subversion/trunk/subversion/libsvn_subr/sysinfo.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sysinfo.c?rev=1883716&r1=1883715&r2=1883716&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sysinfo.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sysinfo.c Sun Nov 22 04:46:46 2020
@@ -683,14 +683,14 @@ static const unsigned char *
parse_pointer_value(const char *start, const char *limit, char **end)
{
const unsigned char *ptr;
- const apr_uintptr_t val = (apr_uintptr_t)apr_strtoi64(start, end, 16);
+ const apr_uint64_t val = (apr_uint64_t)apr_strtoi64(start, end, 16);
if (errno /* overflow */
|| *end == start /* no valid digits */
|| *end >= limit) /* representation too long */
return NULL;
- ptr = (const unsigned char*)val;
+ ptr = (const unsigned char*)(apr_uintptr_t)val;
if (val != (apr_uintptr_t)ptr)/* truncated value */
return NULL;