diff options
Diffstat (limited to 'xorg-server/hw/xfree86/parser')
-rw-r--r-- | xorg-server/hw/xfree86/parser/read.c | 4 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/parser/scan.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/xorg-server/hw/xfree86/parser/read.c b/xorg-server/hw/xfree86/parser/read.c index 1091be5e5..4e42b24f0 100644 --- a/xorg-server/hw/xfree86/parser/read.c +++ b/xorg-server/hw/xfree86/parser/read.c @@ -219,15 +219,15 @@ xf86readConfigFile (void) } else { - Error (INVALID_SECTION_MSG, xf86tokenString ()); free(val.str); val.str = NULL; + Error (INVALID_SECTION_MSG, xf86tokenString ()); } break; default: - Error (INVALID_KEYWORD_MSG, xf86tokenString ()); free(val.str); val.str = NULL; + Error (INVALID_KEYWORD_MSG, xf86tokenString ()); } } diff --git a/xorg-server/hw/xfree86/parser/scan.c b/xorg-server/hw/xfree86/parser/scan.c index 8aab0cf41..06710d55a 100644 --- a/xorg-server/hw/xfree86/parser/scan.c +++ b/xorg-server/hw/xfree86/parser/scan.c @@ -845,10 +845,13 @@ static int ConfigFilter(const struct dirent *de) { const char *name = de->d_name; - size_t len = strlen(name); + size_t len; size_t suflen = strlen(XCONFIGSUFFIX); - if (!name || name[0] == '.' || len <= suflen) + if (!name || name[0] == '.') + return 0; + len = strlen(name); + if(len <= suflen) return 0; if (strcmp(&name[len-suflen], XCONFIGSUFFIX) != 0) return 0; |