From: Jeff Trawick Date: Fri, 19 Mar 2004 02:32:25 +0000 (+0000) Subject: mod_dav: Fix a problem that could cause crashes when manipulating X-Git-Tag: pre_ajp_proxy~499 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77b387e14b4b75f6cf38750902530fcda85429d2;p=apache mod_dav: Fix a problem that could cause crashes when manipulating locks on some platforms. crashes seen on Sparc when the integer copied out of the database was not aligned properly also, sizeof(int) not necessarily sizeof(apr_size_t), so that could be a concern; we copy in sizeof(apr_size_t field) so we should copy out sizeof(apr_size_t field) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103027 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index de347e38bb..197396dafa 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev [Remove entries to the current 2.0 section below, when backported] + *) mod_dav: Fix a problem that could cause crashes when manipulating + locks on some platforms. [Jeff Trawick] + *) Satisfy directives now can be influenced by a surrounding container. PR 14726. [André Malo] diff --git a/modules/dav/fs/lock.c b/modules/dav/fs/lock.c index 775b9f9065..9331174ef4 100644 --- a/modules/dav/fs/lock.c +++ b/modules/dav/fs/lock.c @@ -652,7 +652,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t key, offset += sizeof(*ip->locktoken); memcpy(&ip->timeout, val.dptr + offset, sizeof(ip->timeout)); offset += sizeof(ip->timeout); - ip->key.dsize = *((int *) (val.dptr + offset)); /* length of datum */ + memcpy(&ip->key.dsize, val.dptr + offset, sizeof(ip->key.dsize)); /* length of datum */ offset += sizeof(ip->key.dsize); ip->key.dptr = apr_palloc(p, ip->key.dsize); memcpy(ip->key.dptr, val.dptr + offset, ip->key.dsize);