aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/Xi/queryst.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/Xi/queryst.c')
-rw-r--r--xorg-server/Xi/queryst.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/xorg-server/Xi/queryst.c b/xorg-server/Xi/queryst.c
index 71ab79be8..21de843f3 100644
--- a/xorg-server/Xi/queryst.c
+++ b/xorg-server/Xi/queryst.c
@@ -119,7 +119,7 @@ ProcXQueryDeviceState(ClientPtr client)
total_length += (sizeof(xValuatorState) + (v->numAxes * sizeof(int)));
num_classes++;
}
- buf = (char *)xalloc(total_length);
+ buf = (char *)xcalloc(total_length, 1);
if (!buf)
return BadAlloc;
savbuf = buf;
@@ -139,8 +139,7 @@ ProcXQueryDeviceState(ClientPtr client)
tb->class = ButtonClass;
tb->length = sizeof(xButtonState);
tb->num_buttons = b->numButtons;
- for (i = 0; i < 32; i++)
- tb->buttons[i] = b->down[i];
+ memcpy(tb->buttons, b->down, sizeof(b->down));
buf += sizeof(xButtonState);
}