diff options
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clikrb5.c | 9 | ||||
-rw-r--r-- | source3/libsmb/clirap.c | 14 | ||||
-rw-r--r-- | source3/libsmb/smbencrypt.c | 12 |
3 files changed, 19 insertions, 16 deletions
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..61e2fb7f1a 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -865,7 +865,7 @@ bool cli_qpathinfo_streams(struct cli_state *cli, const char *fname, while ((data_len > ofs) && (data_len - ofs >= 24)) { uint32_t nlen, len; - ssize_t size; + size_t size; void *vstr; struct stream_struct *tmp; uint8_t *tmp_buf; @@ -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; } |