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;
 


Reply via email to