summaryrefslogtreecommitdiff
path: root/source3/torture/utable.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2011-03-30 13:08:31 -0700
committerJeremy Allison <jra@samba.org>2011-03-30 23:59:37 +0200
commitc109a70531de72eef30a695248b91704bd0c7c24 (patch)
tree29182afa1ae334e8aee0e71e59aa1a0e5de65f6a /source3/torture/utable.c
parent9ede19fdccaf09303012208129a093197403ef2c (diff)
downloadsamba-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/utable.c')
-rw-r--r--source3/torture/utable.c19
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;
}