ldb bug fixes
Adrian Cochrane
adrianc at catalyst.net.nz
Fri Dec 4 03:09:15 UTC 2015
Sorry, slight tidyup to those patches.
On Fri, Dec 4, 2015 at 3:54 PM, Adrian Cochrane
<adrianc at catalyst.net.nz> wrote:
> Now I've got two working patches to propose to Samba, the first is
> the one which fixes LDB to be able to handle empty messages in the
> database. The second depends on it and would make that sort of issue
> more obvious in the future. Please review
>
> On Fri, Dec 4, 2015 at 10:03 AM, Adrian Cochrane
> <adrianc at catalyst.net.nz> wrote:
>> It seems the patch for fixing error propagation is failing some
>> tests. Please hold on that one.
>>
>> I'm still happy with the patch for fixing handling of empty LDB
>> messages (attached for clarity).
>>
>> On Thu, Dec 3, 2015 at 2:29 PM, Adrian Cochrane
>> <adrianc at catalyst.net.nz> wrote:
>>> Since the symptoms of the big I fixed in more previous patch were
>>> incorrect, here's a patch which corrects the error propagation in
>>> LDB.
>>>
>>> On Wed, Dec 2, 2015 at 4:31 PM, Adrian Cochrane
>>> <adrianc at catalyst.net.nz> wrote:
>>>> Another update, realized that if I'm allocating empty arrays it's
>>>> probably useful still to check it for null.
>>>>
>>>> On Thu, Nov 26, 2015 at 4:45 PM, Adrian Cochrane
>>>> <adrianc at catalyst.net.nz> wrote:
>>>>> Updated patch per Andrew's comments.
>>>>>
>>>>> On Wed, Nov 25, 2015 at 10:56 AM, Andrew Bartlett
>>>>> <abartlet at samba.org> wrote:
>>>>>> On Mon, 2015-11-23 at 14:35 +1300, Adrian Cochrane wrote:
>>>>>>> It turns out that wouldn't be an easier fix because
>>>>>>> /lib/talloc/talloc_guide.txt specifically states:
>>>>>>> > talloc_realloc(context, ptr, type, 0) ==> talloc_free(ptr);
>>>>>>>
>>>>>>> However I did take your advice and incorporated it into this
>>>>>>> updated
>>>>>>> patch.
>>>>>>
>>>>>> I think this, but with an error check on
>>>>>> msg->elements = talloc_array(msg, struct ldb_message_element, 0);
>>>>>>
>>>>>> would be the correct solution.
>>>>>>
>>>>>> LDB entries with zero attributes are vanishingly rare, but
>>>>>> asking for
>>>>>> zero attributes is common, as is asking only for attributes that
>>>>>> don't
>>>>>> exist. We may post-process the ldb_message to add a generated
>>>>>> attribute later, and we should have a zero-length array to do
>>>>>> that on.
>>>>>>
>>>>>> This also follows the principle of least supprise from the
>>>>>> current
>>>>>> code, which always returned an array the same length as the
>>>>>> database
>>>>>> object (ie, always non-NULL, even with num_elements == 0)
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Andrew Bartlett
>>>>>>
>>>>>> --
>>>>>> Andrew Bartlett
>>>>>> https://samba.org/~abartlet/
>>>>>> Authentication Developer, Samba Team https://samba.org
>>>>>> Samba Development and Support, Catalyst IT
>>>>>> https://catalyst.net.nz/services/samba
>>>>>>
>>>>>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-propagation-of-LDB-errors-through-TDB.patch
Type: text/x-patch
Size: 13349 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20151204/decdde41/0002-Fix-propagation-of-LDB-errors-through-TDB.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ldb-Fix-bug-triggered-by-having-an-empty-message-in-.patch
Type: text/x-patch
Size: 4043 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20151204/decdde41/0001-ldb-Fix-bug-triggered-by-having-an-empty-message-in-.bin>
More information about the samba-technical
mailing list