]> granicus.if.org Git - apache/commitdiff
mod_dav: When a PROPPATCH attempts to remove a non-existent dead
authorGraham Leggett <minfrin@apache.org>
Sat, 27 Apr 2013 17:38:45 +0000 (17:38 +0000)
committerGraham Leggett <minfrin@apache.org>
Sat, 27 Apr 2013 17:38:45 +0000 (17:38 +0000)
property on a resource for which there is no dead property in the same
namespace httpd segfaults. PR 52559
Submitted by Diego Santa Cruz <diego.santaCruz spinetix.com>
Tested by William Lewis <wiml omnigroup com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1476642 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/dav/fs/dbm.c

diff --git a/CHANGES b/CHANGES
index 88b2af112c1b513587cc87fb21a9ff473dfca0d5..c5f27bcb6fb6606bc56dfdc827cdb6b084133b57 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,11 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_dav: When a PROPPATCH attempts to remove a non-existent dead
+     property on a resource for which there is no dead property in the same
+     namespace httpd segfaults. PR 52559 [Diego Santa Cruz
+     <diego.santaCruz spinetix.com>]
+
   *) mod_dav: PROPPATCH delete (svn propdel) silently discards errors.
      PR 53525 [Arwin Arni <arwin collab.net>]
 
index 53a97e91f2a0110af354b881db4ebadfc9693114..9089373991a924f2ddbecd79f6f7599f4d153eba 100644 (file)
@@ -731,6 +731,10 @@ static dav_error * dav_propdb_get_rollback(dav_db *db,
 static dav_error * dav_propdb_apply_rollback(dav_db *db,
                                              dav_deadprop_rollback *rollback)
 {
+    if (!rollback) {
+        return NULL; /* no rollback, nothing to do */
+    }
+
     if (rollback->value.dptr == NULL) {
         /* don't fail if the thing isn't really there. */
         (void) dav_dbm_delete(db, rollback->key);