[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