xserver: Avoid sending uninitialized padding data over the network
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
committed by
Peter Hutterer
parent
b735a4b495
commit
ddb8d8945d
17
dix/window.c
17
dix/window.c
@@ -774,6 +774,7 @@ CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w,
|
||||
|
||||
if (SubSend(pParent))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = CreateNotify;
|
||||
event.u.createNotify.window = wid;
|
||||
event.u.createNotify.parent = pParent->drawable.id;
|
||||
@@ -889,9 +890,10 @@ CrushTree(WindowPtr pWin)
|
||||
pParent = pChild->parent;
|
||||
if (SubStrSend(pChild, pParent))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = DestroyNotify;
|
||||
event.u.destroyNotify.window = pChild->drawable.id;
|
||||
DeliverEvents(pChild, &event, 1, NullWindow);
|
||||
DeliverEvents(pChild, &event, 1, NullWindow);
|
||||
}
|
||||
FreeResource(pChild->drawable.id, RT_WINDOW);
|
||||
pSib = pChild->nextSib;
|
||||
@@ -935,9 +937,10 @@ DeleteWindow(pointer value, XID wid)
|
||||
pParent = pWin->parent;
|
||||
if (wid && pParent && SubStrSend(pWin, pParent))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = DestroyNotify;
|
||||
event.u.destroyNotify.window = pWin->drawable.id;
|
||||
DeliverEvents(pWin, &event, 1, NullWindow);
|
||||
DeliverEvents(pWin, &event, 1, NullWindow);
|
||||
}
|
||||
|
||||
FreeWindowResources(pWin);
|
||||
@@ -2244,6 +2247,7 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
|
||||
(RedirectSend(pParent)
|
||||
))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = ConfigureRequest;
|
||||
event.u.configureRequest.window = pWin->drawable.id;
|
||||
if (mask & CWSibling)
|
||||
@@ -2278,6 +2282,7 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
|
||||
if (size_change && ((pWin->eventMask|wOtherEventMasks(pWin)) & ResizeRedirectMask))
|
||||
{
|
||||
xEvent eventT;
|
||||
memset(&eventT, 0, sizeof(xEvent));
|
||||
eventT.u.u.type = ResizeRequest;
|
||||
eventT.u.resizeRequest.window = pWin->drawable.id;
|
||||
eventT.u.resizeRequest.width = w;
|
||||
@@ -2324,6 +2329,7 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
|
||||
ActuallyDoSomething:
|
||||
if (SubStrSend(pWin, pParent))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = ConfigureNotify;
|
||||
event.u.configureNotify.window = pWin->drawable.id;
|
||||
if (pSib)
|
||||
@@ -2480,6 +2486,7 @@ ReparentWindow(WindowPtr pWin, WindowPtr pParent,
|
||||
if (WasMapped)
|
||||
UnmapWindow(pWin, FALSE);
|
||||
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = ReparentNotify;
|
||||
event.u.reparent.window = pWin->drawable.id;
|
||||
event.u.reparent.parent = pParent->drawable.id;
|
||||
@@ -2640,6 +2647,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
|
||||
(RedirectSend(pParent)
|
||||
))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = MapRequest;
|
||||
event.u.mapRequest.window = pWin->drawable.id;
|
||||
event.u.mapRequest.parent = pParent->drawable.id;
|
||||
@@ -2652,6 +2660,7 @@ MapWindow(WindowPtr pWin, ClientPtr client)
|
||||
pWin->mapped = TRUE;
|
||||
if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = MapNotify;
|
||||
event.u.mapNotify.window = pWin->drawable.id;
|
||||
event.u.mapNotify.override = pWin->overrideRedirect;
|
||||
@@ -2726,6 +2735,7 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
|
||||
{
|
||||
if (parentRedirect && !pWin->overrideRedirect)
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = MapRequest;
|
||||
event.u.mapRequest.window = pWin->drawable.id;
|
||||
event.u.mapRequest.parent = pParent->drawable.id;
|
||||
@@ -2738,6 +2748,7 @@ MapSubwindows(WindowPtr pParent, ClientPtr client)
|
||||
pWin->mapped = TRUE;
|
||||
if (parentNotify || StrSend(pWin))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = MapNotify;
|
||||
event.u.mapNotify.window = pWin->drawable.id;
|
||||
event.u.mapNotify.override = pWin->overrideRedirect;
|
||||
@@ -2850,6 +2861,7 @@ UnmapWindow(WindowPtr pWin, Bool fromConfigure)
|
||||
return(Success);
|
||||
if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin))
|
||||
{
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = UnmapNotify;
|
||||
event.u.unmapNotify.window = pWin->drawable.id;
|
||||
event.u.unmapNotify.fromConfigure = fromConfigure;
|
||||
@@ -3113,6 +3125,7 @@ SendVisibilityNotify(WindowPtr pWin)
|
||||
}
|
||||
#endif
|
||||
|
||||
memset(&event, 0, sizeof(xEvent));
|
||||
event.u.u.type = VisibilityNotify;
|
||||
event.u.visibility.window = pWin->drawable.id;
|
||||
event.u.visibility.state = visibility;
|
||||
|
||||
Reference in New Issue
Block a user