diff options
author | Jeremy Allison <jra@samba.org> | 2011-03-30 13:08:31 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2011-03-30 23:59:37 +0200 |
commit | c109a70531de72eef30a695248b91704bd0c7c24 (patch) | |
tree | 29182afa1ae334e8aee0e71e59aa1a0e5de65f6a /source3/torture | |
parent | 9ede19fdccaf09303012208129a093197403ef2c (diff) | |
download | samba-c109a70531de72eef30a695248b91704bd0c7c24.tar.gz samba-c109a70531de72eef30a695248b91704bd0c7c24.tar.bz2 samba-c109a70531de72eef30a695248b91704bd0c7c24.zip |
Fix convert_string() to take a *converted_size arg. and return a bool.
Makes these interfaces much harder to misuse and easier to ensure error
checking.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Mar 30 23:59:37 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/torture')
-rw-r--r-- | source3/torture/utable.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source3/torture/utable.c b/source3/torture/utable.c index 3ddb468834..e7ee00a8a3 100644 --- a/source3/torture/utable.c +++ b/source3/torture/utable.c @@ -45,14 +45,19 @@ bool torture_utable(int dummy) cli_unlink(cli, "\\utable\\*", aSYSTEM | aHIDDEN); for (c=1; c < 0x10000; c++) { + size_t size = 0; char *p; SSVAL(&c2, 0, c); fstrcpy(fname, "\\utable\\x"); p = fname+strlen(fname); - len = convert_string(CH_UTF16LE, CH_UNIX, + if (!convert_string(CH_UTF16LE, CH_UNIX, &c2, 2, - p, sizeof(fname)-strlen(fname)); + p, sizeof(fname)-strlen(fname),&size)) { + d_printf("convert_string %s failed !\n", fname); + continue; + } + len = size; p[len] = 0; fstrcat(fname,"_a_long_extension"); @@ -106,15 +111,19 @@ static char *form_name(int c) static fstring fname; smb_ucs2_t c2; char *p; - int len; + size_t len = 0; fstrcpy(fname, "\\utable\\"); p = fname+strlen(fname); SSVAL(&c2, 0, c); - len = convert_string(CH_UTF16LE, CH_UNIX, + if (!convert_string(CH_UTF16LE, CH_UNIX, &c2, 2, - p, sizeof(fname)-strlen(fname)); + p, sizeof(fname)-strlen(fname), &len)) { + d_printf("form_name: convert string %s failed\n", + fname); + return NULL; + } p[len] = 0; return fname; } |