Module Name: src Committed By: msaitoh Date: Tue Oct 15 18:50:45 UTC 2019
Modified Files: src/sys/external/bsd/drm2/dist/drm/i915: intel_dp.c Log Message: Don't pass null pointer as argument 2 of memcpy(). Same as Linux. Found by kUBSan. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.19 src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.20 --- src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c:1.19 Thu Sep 13 08:25:55 2018 +++ src/sys/external/bsd/drm2/dist/drm/i915/intel_dp.c Tue Oct 15 18:50:44 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: intel_dp.c,v 1.19 2018/09/13 08:25:55 mrg Exp $ */ +/* $NetBSD: intel_dp.c,v 1.20 2019/10/15 18:50:44 msaitoh Exp $ */ /* * Copyright © 2008 Intel Corporation @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: intel_dp.c,v 1.19 2018/09/13 08:25:55 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intel_dp.c,v 1.20 2019/10/15 18:50:44 msaitoh Exp $"); #include <linux/i2c.h> #include <linux/slab.h> @@ -989,7 +989,10 @@ intel_dp_aux_transfer(struct drm_dp_aux if (WARN_ON(txsize > 20)) return -E2BIG; - memcpy(txbuf + HEADER_SIZE, msg->buffer, msg->size); + WARN_ON(!msg->buffer != !msg->size); + + if (msg->buffer) + memcpy(txbuf + HEADER_SIZE, msg->buffer, msg->size); ret = intel_dp_aux_ch(intel_dp, txbuf, txsize, rxbuf, rxsize); if (ret > 0) {