From: Markus Elfring elfring@users.sourceforge.net Date: Mon, 20 Nov 2017 22:20:37 +0100
Add a jump target so that a bit of exception handling can be better reused at the end of this function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring elfring@users.sourceforge.net --- tools/testing/selftests/sync/sync.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/tools/testing/selftests/sync/sync.c b/tools/testing/selftests/sync/sync.c index f3d599f249b9..d0d55377f6f8 100644 --- a/tools/testing/selftests/sync/sync.c +++ b/tools/testing/selftests/sync/sync.c @@ -92,10 +92,8 @@ static struct sync_file_info *sync_file_info(int fd) return NULL;
err = ioctl(fd, SYNC_IOC_FILE_INFO, info); - if (err < 0) { - free(info); - return NULL; - } + if (err < 0) + goto free_info;
num_fences = info->num_fences;
@@ -104,22 +102,23 @@ static struct sync_file_info *sync_file_info(int fd) info->num_fences = num_fences;
fence_info = calloc(num_fences, sizeof(*fence_info)); - if (!fence_info) { - free(info); - return NULL; - } + if (!fence_info) + goto free_info;
info->sync_fence_info = (uint64_t)fence_info;
err = ioctl(fd, SYNC_IOC_FILE_INFO, info); if (err < 0) { free(fence_info); - free(info); - return NULL; + goto free_info; } }
return info; + +free_info: + free(info); + return NULL; }
static void sync_file_info_free(struct sync_file_info *info)