# HG changeset patch # User Roy Marples # Date 1590321735 0 # Node ID 868ac20cdbad40504d822f59e4632e6b8e4a2356 # Parent 1e7ce40ed871124d9b874bf8cb1d46c3257400ea Fix some memory issues with prior diff -r 1e7ce40ed871 -r 868ac20cdbad src/if-linux.c --- 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 diff -r 1e7ce40ed871 -r 868ac20cdbad src/privsep-bpf.c --- 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)