diff --git a/Xext/xres.c b/Xext/xres.c index 8f1b0de39..9c7df9832 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -341,7 +341,7 @@ ProcXResQueryClientResources(ClientPtr client) free(counts); WriteToClient(client, sizeof(xXResQueryClientResourcesReply), &rep); - WriteToClient(client, sizeof(scratch), scratch); + WriteToClient(client, num_types * sizeof(xXResType), scratch); free(scratch); return Success; } diff --git a/Xext/xvmc.c b/Xext/xvmc.c index 989b604c0..935b2d8cb 100644 --- a/Xext/xvmc.c +++ b/Xext/xvmc.c @@ -594,7 +594,7 @@ ProcXvMCListSubpictureTypes(ClientPtr client) .type = X_Reply, .sequenceNumber = client->sequence, .num = num, - .length = bytes_to_int32(sizeof(info)), + .length = bytes_to_int32(num * sizeof(xvImageFormatInfo)), }; WriteToClient(client, sizeof(xvmcListSubpictureTypesReply), &rep); diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c index 80b578b1e..f28c3596b 100644 --- a/hw/xfree86/drivers/modesetting/drmmode_display.c +++ b/hw/xfree86/drivers/modesetting/drmmode_display.c @@ -1927,7 +1927,7 @@ drmmode_set_gamma_lut(drmmode_crtc_private_ptr drmmode_crtc, } uint32_t blob_id; - if (drmModeCreatePropertyBlob(drmmode->fd, lut, sizeof(lut), &blob_id)) { + if (drmModeCreatePropertyBlob(drmmode->fd, lut, size * sizeof(struct drm_color_lut), &blob_id)) { free(lut); return; } diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c index 500016e9d..4941c83eb 100644 --- a/xkb/xkbLEDs.c +++ b/xkb/xkbLEDs.c @@ -806,7 +806,7 @@ XkbFlushLedEvents(DeviceIntPtr dev, XkbDDXUpdateDeviceIndicators(dev, sli, sli->effectiveState); XkbSendExtensionDeviceNotify(dev, cause->client, ed); } - memset((char *) ed, 0, sizeof(XkbExtensionDeviceNotify)); + memset((char *) ed, 0, sizeof(xkbExtensionDeviceNotify)); } return; }