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

Kamen Mazdrashki kamenim at samba.org
Tue May 27 10:18:37 MDT 2014


Hi Stefan,


On Tue, May 27, 2014 at 6:37 AM, Stefan Gohmann <gohmann at univention.de>wrote:

> Hi Karmen,
>
> Am 27.05.2014 03:24, schrieb Kamen Mazdrashki:
> > Hi Stefan,
> >
> >
> > On Mon, May 26, 2014 at 11:03 PM, Stefan Gohmann <gohmann at univention.de
> > <mailto:gohmann at univention.de>> wrote:
> >
> >     Hi Matthias,
> >
> >     Am 26.05.2014 14 <tel:26.05.2014%2014>: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.
>
> you are right. Please find a new patch attached.
>

Thanks!
Reviewed-by: Kamen Mazdrashki <kamenim at samba.org>

Matthias, Andrew, can you put your review-by line?

Cheers,
Kamen


More information about the samba-technical mailing list