httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 52559] [PATCH] Some PROPPATCH causing segfault in mod_dav_fs / mod_dav
Date Mon, 30 Jan 2012 12:31:23 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=52559

--- Comment #2 from Diego Santa Cruz <Diego.SantaCruz@spinetix.com> 2012-01-30 12:31:23
UTC ---
Created attachment 28229
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28229
Do not fail PROPPATCH when prop namespace not known

With the patch in attachment 28228 the PROPPATCH described above no longer
segfaults httpd, but fails with a 500 error.

As stated in RFC 4918 (WebDAV), section 14.23, removing a non-existing property
is not an error.

The failure comes from dav_propdb_get_rollback(), which returns an error for
the non-existent property. It turns out that if the property's namespace is not
known (as can well be the case for a non-existent property) dav_build_key()
returns a zeroed key, but doing a dav_dbm_fetch() on such a key returns an
error. In fact, APR's apr_dbm_fetch() returns APR_EINVAL for such a key (at
least the SDBM backend).

The patch modifies dav_dbm_fetch() so that is catches this case and treats it
as a "key not found", which is the actual error as the namespace index is built
from the DBM.

With this patch httpd succeds the test case described above (doing a PROPPATCH
to remove a non-existing property on a resource which does not have any other
property in the same namespace).

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message