From fb37f156009611af0dd454a0fb0829a09cd638ac Mon Sep 17 00:00:00 2001 From: Tim Prouty Date: Tue, 29 Apr 2008 14:36:24 -0700 Subject: Cleanup size_t return values in callers of convert_string_allocate This patch is the second iteration of an inside-out conversion to cleanup functions in charcnv.c returning size_t == -1 to indicate failure. (This used to be commit 6b189dabc562d86dcaa685419d0cb6ea276f100d) --- source3/libsmb/clikrb5.c | 9 ++++++--- source3/libsmb/clirap.c | 12 ++++++------ source3/libsmb/smbencrypt.c | 12 ++++++------ 3 files changed, 18 insertions(+), 15 deletions(-) (limited to 'source3/libsmb') diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index c289740ab2..7688b0bd12 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -52,8 +52,9 @@ { krb5_error_code ret; char *utf8_name; + size_t converted_size; - if (push_utf8_allocate(&utf8_name, name) == (size_t)-1) { + if (!push_utf8_allocate(&utf8_name, name, &converted_size)) { return ENOMEM; } @@ -73,9 +74,10 @@ static krb5_error_code smb_krb5_parse_name_norealm_conv(krb5_context context, { krb5_error_code ret; char *utf8_name; + size_t converted_size; *principal = NULL; - if (push_utf8_allocate(&utf8_name, name) == (size_t)-1) { + if (!push_utf8_allocate(&utf8_name, name, &converted_size)) { return ENOMEM; } @@ -96,6 +98,7 @@ static krb5_error_code smb_krb5_parse_name_norealm_conv(krb5_context context, { krb5_error_code ret; char *utf8_name; + size_t converted_size; *unix_name = NULL; ret = krb5_unparse_name(context, principal, &utf8_name); @@ -103,7 +106,7 @@ static krb5_error_code smb_krb5_parse_name_norealm_conv(krb5_context context, return ret; } - if (pull_utf8_allocate(unix_name, utf8_name)==-1) { + if (!pull_utf8_allocate(unix_name, utf8_name, &converted_size)) { krb5_free_unparsed_name(context, utf8_name); return ENOMEM; } diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c index 8c167e1257..cf4f4987cf 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -904,14 +904,14 @@ bool cli_qpathinfo_streams(struct cli_state *cli, const char *fname, tmp_buf[nlen] = 0; tmp_buf[nlen+1] = 0; - size = convert_string_talloc(streams, CH_UTF16, CH_UNIX, - tmp_buf, nlen+2, &vstr, - false); - TALLOC_FREE(tmp_buf); - - if (size == -1) { + if (!convert_string_talloc(streams, CH_UTF16, CH_UNIX, tmp_buf, + nlen+2, &vstr, &size, false)) + { + TALLOC_FREE(tmp_buf); goto fail; } + + TALLOC_FREE(tmp_buf); streams[num_streams].name = (char *)vstr; num_streams++; diff --git a/source3/libsmb/smbencrypt.c b/source3/libsmb/smbencrypt.c index 11f8780a47..f339b6b9f6 100644 --- a/source3/libsmb/smbencrypt.c +++ b/source3/libsmb/smbencrypt.c @@ -172,15 +172,15 @@ bool ntv2_owf_gen(const uchar owf[16], HMACMD5Context ctx; - user_byte_len = push_ucs2_allocate(&user, user_in); - if (user_byte_len == (size_t)-1) { - DEBUG(0, ("push_uss2_allocate() for user returned -1 (probably malloc() failure)\n")); + if (!push_ucs2_allocate(&user, user_in, &user_byte_len)) { + DEBUG(0, ("push_uss2_allocate() for user failed: %s\n", + strerror(errno))); return False; } - domain_byte_len = push_ucs2_allocate(&domain, domain_in); - if (domain_byte_len == (size_t)-1) { - DEBUG(0, ("push_uss2_allocate() for domain returned -1 (probably malloc() failure)\n")); + if (!push_ucs2_allocate(&domain, domain_in, &domain_byte_len)) { + DEBUG(0, ("push_uss2_allocate() for domain failed: %s\n", + strerror(errno))); return False; } -- cgit