From 8380835fc6de38706d9af29dc7f0fa4cec4f9c90 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 4 May 2011 11:38:26 -0700 Subject: Fix warning messages caused by addition of null check in fstrcpy macro. --- source3/winbindd/idmap_hash/mapfile.c | 4 ++-- source3/winbindd/wb_fill_pwent.c | 4 +++- source3/winbindd/winbindd_cm.c | 2 +- source3/winbindd/winbindd_wins.c | 16 ++++++++++------ 4 files changed, 16 insertions(+), 10 deletions(-) (limited to 'source3/winbindd') diff --git a/source3/winbindd/idmap_hash/mapfile.c b/source3/winbindd/idmap_hash/mapfile.c index 2828059093..1183328a3f 100644 --- a/source3/winbindd/idmap_hash/mapfile.c +++ b/source3/winbindd/idmap_hash/mapfile.c @@ -87,8 +87,8 @@ static bool mapfile_read_line(fstring key, fstring value) *p = '\0'; p++; - fstrcpy(key, buffer); - fstrcpy(value, p); + strlcpy(key, buffer, sizeof(key)); + strlcpy(value, p, sizeof(value)); /* Eat whitespace */ diff --git a/source3/winbindd/wb_fill_pwent.c b/source3/winbindd/wb_fill_pwent.c index 37d45357db..6fad5f4360 100644 --- a/source3/winbindd/wb_fill_pwent.c +++ b/source3/winbindd/wb_fill_pwent.c @@ -131,7 +131,9 @@ static void wb_fill_pwent_sid2gid_done(struct tevent_req *subreq) true); } - fstrcpy(state->pw->pw_name, output_username); + strlcpy(state->pw->pw_name, + output_username, + sizeof(state->pw->pw_name)); fstrcpy(state->pw->pw_gecos, state->info->full_name); /* Home directory and shell */ diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index bf877429e9..f5a9e73905 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -1549,7 +1549,7 @@ static NTSTATUS cm_open_connection(struct winbindd_domain *domain, return NT_STATUS_UNSUCCESSFUL; } if (dcip_to_name(mem_ctx, domain, &ss, saf_name )) { - fstrcpy( domain->dcname, saf_name ); + strlcpy(domain->dcname, saf_name, sizeof(domain->dcname)); } else { winbind_add_failed_connection_entry( domain, saf_servername, diff --git a/source3/winbindd/winbindd_wins.c b/source3/winbindd/winbindd_wins.c index e1beb1d80b..5ac6109411 100644 --- a/source3/winbindd/winbindd_wins.c +++ b/source3/winbindd/winbindd_wins.c @@ -140,7 +140,9 @@ void winbindd_wins_byip(struct winbindd_cli_state *state) response[strlen(response)-1] = '\n'; TALLOC_FREE(status); } - fstrcpy(state->response->data.winsresp,response); + strlcpy(state->response->data.winsresp, + response, + sizeof(state->response->data.winsresp)); request_ok(state); } @@ -181,8 +183,8 @@ void winbindd_wins_byname(struct winbindd_cli_state *state) response[strlen(response)-1] = ' '; } } - fstrcat(response,addr); - fstrcat(response,"\t"); + strlcat(response,addr,sizeof(response)); + strlcat(response,"\t",sizeof(response)); } size = strlen(state->request->data.winsreq) + strlen(response); if (size > maxlen) { @@ -190,15 +192,17 @@ void winbindd_wins_byname(struct winbindd_cli_state *state) request_error(state); return; } - fstrcat(response,state->request->data.winsreq); - fstrcat(response,"\n"); + strlcat(response,state->request->data.winsreq,sizeof(response)); + strlcat(response,"\n",sizeof(response)); TALLOC_FREE(ip_list); } else { request_error(state); return; } - fstrcpy(state->response->data.winsresp,response); + strlcpy(state->response->data.winsresp, + response, + sizeof(state->response->data.winsresp)); request_ok(state); } -- cgit