|
@@ -102,9 +102,7 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
|
|
|
|
|
if (arg == NULL) {
|
|
if (arg == NULL) {
|
|
fprintf(stderr, "Invalid config line:\n %s\n", line);
|
|
fprintf(stderr, "Invalid config line:\n %s\n", line);
|
|
- fclose(f);
|
|
|
|
- errno = EINVAL;
|
|
|
|
- return -1;
|
|
|
|
|
|
+ goto err;
|
|
}
|
|
}
|
|
|
|
|
|
*arg = 0;
|
|
*arg = 0;
|
|
@@ -121,9 +119,7 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
|
|
|
|
|
if (!g_str_equal(cmd, "include") && strlen(arg) >= IFNAMSIZ) {
|
|
if (!g_str_equal(cmd, "include") && strlen(arg) >= IFNAMSIZ) {
|
|
fprintf(stderr, "name `%s' too long: %zu\n", arg, strlen(arg));
|
|
fprintf(stderr, "name `%s' too long: %zu\n", arg, strlen(arg));
|
|
- fclose(f);
|
|
|
|
- errno = EINVAL;
|
|
|
|
- return -1;
|
|
|
|
|
|
+ goto err;
|
|
}
|
|
}
|
|
|
|
|
|
if (strcmp(cmd, "deny") == 0) {
|
|
if (strcmp(cmd, "deny") == 0) {
|
|
@@ -149,15 +145,18 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
|
|
parse_acl_file(arg, acl_list);
|
|
parse_acl_file(arg, acl_list);
|
|
} else {
|
|
} else {
|
|
fprintf(stderr, "Unknown command `%s'\n", cmd);
|
|
fprintf(stderr, "Unknown command `%s'\n", cmd);
|
|
- fclose(f);
|
|
|
|
- errno = EINVAL;
|
|
|
|
- return -1;
|
|
|
|
|
|
+ goto err;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
fclose(f);
|
|
fclose(f);
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
+
|
|
|
|
+err:
|
|
|
|
+ fclose(f);
|
|
|
|
+ errno = EINVAL;
|
|
|
|
+ return -1;
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
static bool has_vnet_hdr(int fd)
|
|
static bool has_vnet_hdr(int fd)
|