Actions
Bug #1054
closedRGW segfaults if the Owner field is not set in an ACL
% Done:
0%
Source:
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
The following code explains the situation quite well, I think:
void RGWAccessControlPolicy::xml_end(const char *el) { acl = *(RGWAccessControlList *)find_first("AccessControlList"); owner = *(ACLOwner *)find_first("Owner"); }
We have no idea whether find_first will find either of these things!
If AccessControlList isn't found, of course, the XML is malformed. But that still should not cause us to segfault.
Unfortunately, expat is not a validating XML parser, so we can't just validate against a schema.
Updated by Colin McCabe almost 13 years ago
- Status changed from New to Duplicate
re-created this as a subtask of 1053 (which I always wanted it to be)
Apparently you can't subtask-ize things after creating them.
See #1055
Actions