P J P <ppan...@redhat.com> 于2019年7月23日周二 下午6:50写道:
> From: Prasad J Pandit <p...@fedoraproject.org> > > Move repeating error handling sequence in parse_acl_file routine > to an 'err' label. > > Signed-off-by: Prasad J Pandit <p...@fedoraproject.org> > Reviewed-by: Li Qiang <liq...@gmail.com> > --- > qemu-bridge-helper.c | 19 +++++++++---------- > 1 file changed, 9 insertions(+), 10 deletions(-) > > Reviewed v3: > -> > https://lists.nongnu.org/archive/html/qemu-devel/2019-07/msg00247.html > > diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c > index e90c22f07d..91a02f9611 100644 > --- a/qemu-bridge-helper.c > +++ b/qemu-bridge-helper.c > @@ -92,9 +92,7 @@ static int parse_acl_file(const char *filename, ACLList > *acl_list) > > if (arg == NULL) { > fprintf(stderr, "Invalid config line:\n %s\n", line); > - fclose(f); > - errno = EINVAL; > - return -1; > + goto err; > } > > *arg = 0; > @@ -111,9 +109,7 @@ static int parse_acl_file(const char *filename, > ACLList *acl_list) > > if (!g_str_equal(cmd, "include") && strlen(arg) >= IFNAMSIZ) { > fprintf(stderr, "name `%s' too long: %zu\n", arg, > strlen(arg)); > - fclose(f); > - errno = EINVAL; > - return -1; > + goto err; > } > > if (strcmp(cmd, "deny") == 0) { > @@ -139,15 +135,18 @@ static int parse_acl_file(const char *filename, > ACLList *acl_list) > parse_acl_file(arg, acl_list); > } else { > fprintf(stderr, "Unknown command `%s'\n", cmd); > - fclose(f); > - errno = EINVAL; > - return -1; > + goto err; > } > } > > fclose(f); > - > return 0; > + > +err: > + fclose(f); > + errno = EINVAL; > + return -1; > + > } > > static bool has_vnet_hdr(int fd) > -- > 2.21.0 > >