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

This commit is contained in:
David Nusinow 2008-03-02 17:12:02 -05:00
parent c934366424
commit b5ce0e1d0b
2 changed files with 7 additions and 0 deletions

View File

@ -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 \

View File

@ -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: