diff options
Diffstat (limited to 'source3/smbd/mangle_hash.c')
-rw-r--r-- | source3/smbd/mangle_hash.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source3/smbd/mangle_hash.c b/source3/smbd/mangle_hash.c index 1dc9c67dcc..69ecf77834 100644 --- a/source3/smbd/mangle_hash.c +++ b/source3/smbd/mangle_hash.c @@ -294,8 +294,7 @@ static bool is_8_3(const char *fname, bool check_case, bool allow_wildcards, if (strlen(f) > 12) return False; - size = push_ucs2_allocate(&ucs2name, f); - if (size == (size_t)-1) { + if (!push_ucs2_allocate(&ucs2name, f, &size)) { DEBUG(0,("is_8_3: internal error push_ucs2_allocate() failed!\n")); goto done; } @@ -604,9 +603,11 @@ static bool must_mangle(const char *name, { smb_ucs2_t *name_ucs2 = NULL; NTSTATUS status; + size_t converted_size; + magic_char = lp_magicchar(p); - if (push_ucs2_allocate(&name_ucs2, name) == (size_t)-1) { + if (!push_ucs2_allocate(&name_ucs2, name, &converted_size)) { DEBUG(0, ("push_ucs2_allocate failed!\n")); return False; } @@ -637,12 +638,14 @@ static bool hash_name_to_8_3(const char *in, const struct share_params *p) { smb_ucs2_t *in_ucs2 = NULL; + size_t converted_size; + magic_char = lp_magicchar(p); DEBUG(5,("hash_name_to_8_3( %s, cache83 = %s)\n", in, cache83 ? "True" : "False")); - if (push_ucs2_allocate(&in_ucs2, in) == (size_t)-1) { + if (!push_ucs2_allocate(&in_ucs2, in, &converted_size)) { DEBUG(0, ("push_ucs2_allocate failed!\n")); return False; } |