[Patch] fix IDL hang V2

Noel Power nopower at suse.com
Mon Aug 25 08:53:23 MDT 2014


On 22/08/14 14:16, Noel Power wrote:
> On 22/08/14 12:56, Jelmer Vernooij wrote:
>> On Fri, Aug 22, 2014 at 10:54:29AM +0100, Noel Power wrote:
>>
> [...]
>>>> If there's a struct member that is a pointer, then
>>>> can_contain_deferred should never check whether that member itself can
>>>> contain a deferred at all. How does a loop occur here?
>>> I don't believe that I said it did (although in fairness I did think it
>>> might), but really I just was trying to understand the point you were
>>> making with the psuedo code you had
>> Your patch was changing this function. If it doesn't have a loop in
>> it, then why does it need to be changed?
> all I can say it that it used to loop, the explanation is probably a bug
> in a previous incarnation of the patch, I wouldn't have changed it on a
> whim (and I remember it looping) removing that part of the patch and
> retrying I see indeed it is not necessary (thanks for catching that)
>
well I was wrong, 'can_contain_deferred' does loop (for the attached idl
file), I guess I must have tested the wrong idl file, recently I seem to
have way too many foo.idl (and variants of that name all with slighly
different content in various places) hanging around.

please find the test & patch attach (if you want I can squash if needed)

Noel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hang.idl
Type: text/x-idl
Size: 175 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140825/48c7f8a0/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-detect-and-prevent-recursions-that-cause-infinite-lo.patch
Type: text/x-diff
Size: 3029 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140825/48c7f8a0/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-add-test-for-hang-with-nested-struct.patch
Type: text/x-diff
Size: 2196 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140825/48c7f8a0/attachment-0001.patch>


More information about the samba-technical mailing list