diff --git a/sslh-main.c b/sslh-main.c index 9cc8a06..607b44f 100644 --- a/sslh-main.c +++ b/sslh-main.c @@ -280,7 +280,10 @@ static int config_parse(char *filename, struct addrinfo **listen, struct proto * config_init(&config); if (config_read_file(&config, filename) == CONFIG_FALSE) { - if (config_error_type(&config) == CONFIG_ERR_PARSE) { +/* If it's a parse error then there will be a line number for the failure + * an I/O error (such as non-existent file) will have the error line as 0 + */ + if (config_error_line(&config) != 0) { fprintf(stderr, "%s:%d:%s\n", filename, config_error_line(&config),