bug in HEAD: init_unistr2_from_unistr

Jean Francois Micouleau Jean-Francois.Micouleau at dalalu.fr
Sat Aug 5 16:20:25 GMT 2000


On Sat, 5 Aug 2000, Elrond wrote:

> since I haven't asked, wether I may modify HEAD:
> 
> in rpc_parse/parse_misc.c:init_unistr2_from_unistr
> 
> 	if ((from->buffer)[i]=='\0' && (from->buffer)[(2*i)+1]=='\0')
> 
> should only be:
> 
> 	if (from->buffer[i]==0)
> 
> the buffer is already a "uint16 *", and accessing 2*i+1 is
> likely to be out of allocated memory.

you can rewrite the while loop without the if:

	while (from->buffer[i++] !=0 );

the if(!found) test can be removed. You just have to hope the string is
terminated.

the string copy can be a simple:

memcpy( to->buffer, from->buffer, to->uni_str_len*sizeof(uint16) );

>     Elrond
> 
> p.s.: Or where should I post this?

samba-technical is fine.

	J.F.






More information about the samba-technical mailing list