diff options
Diffstat (limited to 'source4/client')
-rw-r--r-- | source4/client/cifsdd.c | 4 | ||||
-rw-r--r-- | source4/client/client.c | 24 |
2 files changed, 15 insertions, 13 deletions
diff --git a/source4/client/cifsdd.c b/source4/client/cifsdd.c index adf2d72af24..dd6f1377e82 100644 --- a/source4/client/cifsdd.c +++ b/source4/client/cifsdd.c @@ -152,7 +152,7 @@ int set_arg_argv(const char * argv) } break; case ARG_SIZE: - if (!conv_str_size(val, &arg->arg_val.nval)) { + if (!conv_str_size_error(val, &arg->arg_val.nval)) { goto fail; } break; @@ -597,7 +597,7 @@ int main(int argc, const char ** argv) ev = s4_event_context_init(talloc_autofree_context()); - gensec_init(cmdline_lp_ctx); + gensec_init(); dump_args(); if (check_arg_numeric("ibs") == 0 || check_arg_numeric("ibs") == 0) { diff --git a/source4/client/client.c b/source4/client/client.c index c6c0088b3c3..2f353aec4ec 100644 --- a/source4/client/client.c +++ b/source4/client/client.c @@ -309,12 +309,12 @@ static bool mask_match(struct smbcli_state *c, const char *string, return false; if (is_case_sensitive) - return ms_fnmatch(pattern, string, + return ms_fnmatch_protocol(pattern, string, c->transport->negotiate.protocol) == 0; p2 = strlower_talloc(NULL, pattern); s2 = strlower_talloc(NULL, string); - ret = ms_fnmatch(p2, s2, c->transport->negotiate.protocol) == 0; + ret = ms_fnmatch_protocol(p2, s2, c->transport->negotiate.protocol) == 0; talloc_free(p2); talloc_free(s2); @@ -473,8 +473,8 @@ static void add_to_do_list_queue(const char* entry) } if (do_list_queue) { - safe_strcpy(do_list_queue + do_list_queue_end, entry, - do_list_queue_size - do_list_queue_end - 1); + strlcpy(do_list_queue + do_list_queue_end, entry ? entry : "", + do_list_queue_size - do_list_queue_end); do_list_queue_end = new_end; DEBUG(4,("added %s to do_list_queue (start=%d, end=%d)\n", entry, (int)do_list_queue_start, (int)do_list_queue_end)); @@ -696,11 +696,12 @@ static int do_get(struct smbclient_context *ctx, char *rname, const char *p_lnam char *lname; - lname = talloc_strdup(ctx, p_lname); GetTimeOfDay(&tp_start); if (ctx->lowercase) { - strlower(lname); + lname = strlower_talloc(ctx, p_lname); + } else { + lname = talloc_strdup(ctx, p_lname); } fnum = smbcli_open(ctx->cli->tree, rname, O_RDONLY, DENY_NONE); @@ -884,13 +885,14 @@ static void do_mget(struct smbclient_context *ctx, struct clilist_file_info *fin ctx->remote_cur_dir = talloc_asprintf_append_buffer(NULL, "%s\\", finfo->name); - l_fname = talloc_strdup(ctx, finfo->name); - - string_replace(l_fname, '\\', '/'); if (ctx->lowercase) { - strlower(l_fname); + l_fname = strlower_talloc(ctx, finfo->name); + } else { + l_fname = talloc_strdup(ctx, finfo->name); } + string_replace(l_fname, '\\', '/'); + if (!directory_exist(l_fname) && mkdir(l_fname, 0777) != 0) { d_printf("failed to create directory %s\n", l_fname); @@ -3231,7 +3233,7 @@ static int do_message_op(const char *netbios_name, const char *desthost, } } - gensec_init(cmdline_lp_ctx); + gensec_init(); if(poptPeekArg(pc)) { char *s = strdup(poptGetArg(pc)); |