Mercurial > hg > dhcpcd
changeset 5264:868ac20cdbad draft
Fix some memory issues with prior
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sun, 24 May 2020 12:02:15 +0000 |
| parents | 1e7ce40ed871 |
| children | b3b3fad25788 |
| files | src/if-linux.c src/privsep-bpf.c |
| diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if-linux.c Sun May 24 12:30:13 2020 +0100 +++ b/src/if-linux.c Sun May 24 12:02:15 2020 +0000 @@ -255,9 +255,12 @@ if_writepathuint(struct dhcpcd_ctx *ctx, const char *path, unsigned int val) { char buf[64]; + int len; - snprintf(buf, sizeof(buf), "%u\n", val); - return dhcp_writefile(ctx, path, 0664, buf, sizeof(buf)); + len = snprintf(buf, sizeof(buf), "%u\n", val); + if (len == -1) + return -1; + return dhcp_writefile(ctx, path, 0664, buf, (size_t)len); } int
--- a/src/privsep-bpf.c Sun May 24 12:30:13 2020 +0100 +++ b/src/privsep-bpf.c Sun May 24 12:02:15 2020 +0000 @@ -81,7 +81,7 @@ break; psm.ps_flags = bpf->bpf_flags; len = ps_sendpsmdata(psp->psp_ctx, psp->psp_ctx->ps_data_fd, - &psm, buf, (size_t)len + sizeof(bpf->bpf_flags)); + &psm, buf, (size_t)len); if (len == -1 && errno != ECONNRESET) logerr(__func__); if (len == -1 || len == 0)
