[PATCH:videoproto] Xvproto.h: fix xvQueryEncodingsReply to match actual wire protocol

Alan Coopersmith alan.coopersmith at oracle.com
Sun Jun 23 11:00:02 PDT 2013


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 <consume.noise at gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
 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



More information about the xorg-devel mailing list