xserver: Branch 'master'

David Nusinow gravity at kemper.freedesktop.org
Sun Mar 2 14:13:01 PST 2008


 hw/xfree86/parser/Configint.h |    5 +++++
 hw/xfree86/parser/DRI.c       |    2 ++
 2 files changed, 7 insertions(+)

New commits:
commit b5ce0e1d0b861dc5521fcd9db6287ed6da817726
Author: David Nusinow <dnusinow at debian.org>
Date:   Sun Mar 2 17:12:02 2008 -0500

    Bug #13860: Ensure that the DRI mode is in octal format.

diff --git a/hw/xfree86/parser/Configint.h b/hw/xfree86/parser/Configint.h
index 4d5fbcf..684a001 100644
--- a/hw/xfree86/parser/Configint.h
+++ b/hw/xfree86/parser/Configint.h
@@ -71,11 +71,14 @@
 #include <stddef.h>
 #include "xf86Parser.h"
 
+typedef enum { PARSE_DECIMAL, PARSE_OCTAL, PARSE_HEX } ParserNumType;
+
 typedef struct
 {
 	int num;		/* returned number */
 	char *str;		/* private copy of the return-string */
 	double realnum;		/* returned number as a real */
+        ParserNumType numType;  /* used to enforce correct number formatting */
 }
 LexRec, *LexPtr;
 
@@ -211,6 +214,8 @@ else\
 "\ta numerical group id."
 #define MULTIPLE_MSG \
 "Multiple \"%s\" lines."
+#define MUST_BE_OCTAL_MSG \
+"The number \"%d\" given in this section must be in octal (0xxx) format."
 
 /* Warning messages */
 #define OBSOLETE_MSG \
diff --git a/hw/xfree86/parser/DRI.c b/hw/xfree86/parser/DRI.c
index 18644bc..68a6db9 100644
--- a/hw/xfree86/parser/DRI.c
+++ b/hw/xfree86/parser/DRI.c
@@ -117,6 +117,8 @@ xf86parseDRISection (void)
 	    case MODE:
 		if (xf86getSubToken (&(ptr->dri_comment)) != NUMBER)
 		    Error (NUMBER_MSG, "Mode");
+                if (val.numType != PARSE_OCTAL)
+                    Error (MUST_BE_OCTAL_MSG, val.num);
 		ptr->dri_mode = val.num;
 		break;
 	    case BUFFERS:


More information about the xorg-commit mailing list