From: Alejandro Colomar Date: Wed, 4 Oct 2023 16:46:48 +0000 (+0200) Subject: lib/copydir.c: Use goto to reduce a conditional branch X-Git-Tag: 4.15.0-rc1~152 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5e5fee6062c7b98a171a146c0a247074433ae90;p=thirdparty%2Fshadow.git lib/copydir.c: Use goto to reduce a conditional branch Reviewed-by: Iker Pedrosa Signed-off-by: Alejandro Colomar --- diff --git a/lib/copydir.c b/lib/copydir.c index 4c1b78bea..36f2004d1 100644 --- a/lib/copydir.c +++ b/lib/copydir.c @@ -335,27 +335,28 @@ static int copy_tree_impl (const struct path_info *src, const struct path_info * if ((NULL == src_name) || (NULL == dst_name)) { err = -1; - } else { - /* - * Build the filename for both the source and - * the destination files. - */ - struct path_info src_entry, dst_entry; + goto skip; + } + /* + * Build the filename for both the source and + * the destination files. + */ + struct path_info src_entry, dst_entry; - (void) snprintf (src_name, src_len, "%s/%s", src->full_path, ent->d_name); - (void) snprintf (dst_name, dst_len, "%s/%s", dst->full_path, ent->d_name); + (void) snprintf (src_name, src_len, "%s/%s", src->full_path, ent->d_name); + (void) snprintf (dst_name, dst_len, "%s/%s", dst->full_path, ent->d_name); - src_entry.full_path = src_name; - src_entry.dirfd = dirfd(dir); - src_entry.name = ent->d_name; + src_entry.full_path = src_name; + src_entry.dirfd = dirfd(dir); + src_entry.name = ent->d_name; - dst_entry.full_path = dst_name; - dst_entry.dirfd = dst_fd; - dst_entry.name = ent->d_name; + dst_entry.full_path = dst_name; + dst_entry.dirfd = dst_fd; + dst_entry.name = ent->d_name; - err = copy_entry(&src_entry, &dst_entry, reset_selinux, - old_uid, new_uid, old_gid, new_gid); - } + err = copy_entry(&src_entry, &dst_entry, reset_selinux, + old_uid, new_uid, old_gid, new_gid); +skip: free (src_name); free (dst_name); }