smb_iconv modifies constant input strings

Andrew Bartlett abartlet at
Sat Sep 27 01:17:19 GMT 2003

On Sat, 2003-09-27 at 11:09, Matt Seitz wrote:
> The "smb_iconv" function takes a "const char **" input string argument, but then 
> passes the input string to "iconv", which modifies the input string.  This led 
> to unexpected data corruption in some code I wrote that called "smb_iconv".
> Could "smb_iconv" be modified to either:
> a) declare its input string argument as "char **", or
> b) create an internal copy of the input buffer, so that the original is not modified

Neither of these options are very good.  Samba's use of iconv() really
does assume it behaves in the way descriped in the linux manpage - which
declares it as char ** input, but does not modify the input string.  

We make a *lot* of calls to iconv(), and making an extra copy of every
string is going to be very costly.

Can you describe your platform, so we can see if this is specific to a
particular iconv() implementation?

Andrew Bartlett

Andrew Bartlett                                 abartlet at
Manager, Authentication Subsystems, Samba Team  abartlet at
Student Network Administrator, Hawker College   abartlet at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url :

More information about the samba-technical mailing list