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
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)