[PATCH] s4:dsdb/common: samdb_result_parameters: fix bug in ldb_val to lsa_BinaryString conversation

Kamen Mazdrashki kamenim at samba.org
Mon May 26 19:24:05 MDT 2014


Hi Stefan,


On Mon, May 26, 2014 at 11:03 PM, Stefan Gohmann <gohmann at univention.de>wrote:

> Hi Matthias,
>
> Am 26.05.2014 14:09, schrieb Matthias Dieter Wallnöfer:
> > Hi Stefan,
> >
> > it seems that no other one responded. I think that this is rather a
> > problem with the "userParameters" attribute which we still do not parse
> > correctly I think.
>
> thanks. I've re-checked this issue.
>
> In my case the userParameters attribute is 105 bytes long. I think the
> problem is that the length is odd and so there is one byte missing.
>
> I was able to reproduce this issue while setting userParameters for a
> user to the following value:
>
> userParameters::
>
> Q3R4Q2ZnUHJlc2VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUAIaCAFDdHhDZmdQcmVzZW5045S15pSx5oiw44GiGAgBQ3R4Q2ZnRmxhZ3Mx44Cw44Gm44Cy44C5
>
> and run
>   net user /domain username
> from a Windows client.
>
> Attached you'll find an updated patch which fixed the problem for me.
>
> IMHO, the correct fix should be:
+ s.array = talloc_array(mem_ctx, uint16_t, (val->length + 1) / 2);
so we don't allocate  an extra bytes in 'normal' scenario when length is
even.

Cheers,
Kamen


More information about the samba-technical mailing list