Author: stefan2
Date: Thu Aug 21 11:11:12 2014
New Revision: 1619358

URL: http://svn.apache.org/r1619358
Log:
Make the use of memcmp safe for fs_fs__id_t.  For that, all bytes of
the struct must have a well-defined contents.  The structs must to
be allocated by apr_pcalloc or duplicated bytewise.

* subversion/libsvn_fs_fs/id.c
  (svn_fs_fs__id_copy): To copy IDs, use APR's duplication function
                        instead of non-zeroing allocation + assignment.

Found by: kotkov                        

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/id.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/id.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/id.c?rev=1619358&r1=1619357&r2=1619358&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/id.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/id.c Thu Aug 21 11:11:12 2014
@@ -481,9 +481,8 @@ svn_fs_id_t *
 svn_fs_fs__id_copy(const svn_fs_id_t *source, apr_pool_t *pool)
 {
   const fs_fs__id_t *id = (const fs_fs__id_t *)source;
-  fs_fs__id_t *new_id = apr_palloc(pool, sizeof(*new_id));
+  fs_fs__id_t *new_id = apr_pmemdup(pool, id, sizeof(*new_id));
 
-  *new_id = *id;
   new_id->generic_id.fsap_data = new_id;
 
   return (svn_fs_id_t *)new_id;


Reply via email to