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;