padl3 was declared as CARD32, which for proper alignment, got two
additional words of padding silently inserted before it.  Declaring
it as CARD16 aligns it properly after the CARD16 num_encodings.

Fixes clang warning:
Xvproto.h:462:10: warning: padding struct 'struct _QueryEncodingsReply' with 2 
bytes to align 'padl3' [-Wpadded]
  CARD32 padl3 B32;
         ^
This makes sizeof(xvQueryEncodingsReply) match the sz_xvQueryEncodingsReply
which is used in libXv & the X server for the size sent over the wire.

Reported-by: Daniel Martin <[email protected]>
Signed-off-by: Alan Coopersmith <[email protected]>
---
 Xvproto.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Xvproto.h b/Xvproto.h
index 926df06..f501566 100644
--- a/Xvproto.h
+++ b/Xvproto.h
@@ -459,7 +459,7 @@ typedef struct _QueryEncodingsReply {
   CARD16 sequenceNumber B16;
   CARD32 length B32;
   CARD16 num_encodings B16;
-  CARD32 padl3 B32;
+  CARD16 padl3 B16;
   CARD32 padl4 B32;
   CARD32 padl5 B32;
   CARD32 padl6 B32;
-- 
1.7.9.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to