summaryrefslogtreecommitdiff
path: root/source3/winbindd
diff options
context:
space:
mode:
Diffstat (limited to 'source3/winbindd')
-rw-r--r--source3/winbindd/idmap_hash/mapfile.c4
-rw-r--r--source3/winbindd/wb_fill_pwent.c4
-rw-r--r--source3/winbindd/winbindd_cm.c2
-rw-r--r--source3/winbindd/winbindd_wins.c16
4 files changed, 16 insertions, 10 deletions
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);
}