diff -up cups-1.4.6/scheduler/conf.c.conf_segfault cups-1.4.6/scheduler/conf.c --- cups-1.4.6/scheduler/conf.c.conf_segfault 2010-08-31 06:18:38.000000000 +0200 +++ cups-1.4.6/scheduler/conf.c 2011-06-14 15:07:20.538275499 +0200 @@ -2498,11 +2498,11 @@ read_configuration(cups_file_t *fp) /* I "FaxRetryLimit is deprecated; use " "JobRetryLimit on line %d.", linenum); } - else if (!strcasecmp(line, "Port") || !strcasecmp(line, "Listen") + else if ((!strcasecmp(line, "Port") || !strcasecmp(line, "Listen") #ifdef HAVE_SSL || !strcasecmp(line, "SSLPort") || !strcasecmp(line, "SSLListen") #endif /* HAVE_SSL */ - ) + ) && value) { /* * Add listening address(es) to the list... @@ -3632,7 +3632,7 @@ read_location(cups_file_t *fp, /* I - C else if (!strcasecmp(line, "") || !strcasecmp(line, "")) loc = parent; - else if (!parse_aaa(loc, line, value, linenum)) + else if (value && !parse_aaa(loc, line, value, linenum)) { cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown Location directive %s on line %d.", @@ -3828,7 +3828,7 @@ read_policy(cups_file_t *fp, /* I - Con if (FatalErrors & CUPSD_FATAL_CONFIG) return (0); } - else if (!parse_aaa(op, line, value, linenum)) + else if (value && !parse_aaa(op, line, value, linenum)) { if (op) cupsdLogMessage(CUPSD_LOG_ERROR,