commit f6df3e851ddafe38bd6c57dc2b7eebd8ed294838 from: Omar Polo date: Fri Jan 28 12:36:35 2022 UTC only memcpy into imsg->data if datalen is not zero Passing a NULL pointer to memcpy is UB no matter if len is 0 (commit by claudio@, backporting for kamid.) commit - 34845b8fa5e1381da46d7d297f84c34fb49dc4f9 commit + f6df3e851ddafe38bd6c57dc2b7eebd8ed294838 blob - 6c746751450bd523a4fb6736a4347900fd01d5bb blob + 59998a5321d7c7e0dc8c44be2e5371e1213a7371 --- compat/imsg.c +++ compat/imsg.c @@ -1,4 +1,4 @@ -/* $OpenBSD: imsg.c,v 1.16 2017/12/14 09:27:44 kettenis Exp $ */ +/* $OpenBSD: imsg.c,v 1.17 2022/01/28 10:41:44 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -151,7 +151,8 @@ imsg_get(struct imsgbuf *ibuf, struct imsg *imsg) else imsg->fd = -1; - memcpy(imsg->data, ibuf->r.rptr, datalen); + if (datalen != 0) + memcpy(imsg->data, ibuf->r.rptr, datalen); if (imsg->hdr.len < av) { left = av - imsg->hdr.len;