Skip to content

Commit

Permalink
linux-user: Remove pointless NULL check in clock_adjtime handling
Browse files Browse the repository at this point in the history
In the code for TARGET_NR_clock_adjtime, we set the pointer phtx to
the address of the local variable htx.  This means it can never be
NULL, but later in the code we check it for NULL anyway.  Coverity
complains about this (CID 1507683) because the NULL check comes after
a call to clock_adjtime() that assumes it is non-NULL.

Since phtx is always &htx, and is used only in three places, it's not
really necessary.  Remove it, bringing the code structure in to line
with that for TARGET_NR_clock_adjtime64, which already uses a simple
'&htx' when it wants a pointer to 'htx'.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230623144410.1837261-1-peter.maydell@linaro.org
  • Loading branch information
pm215 committed Jul 17, 2023
1 parent e65ecb6 commit aab7461
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions linux-user/syscall.c
Original file line number Diff line number Diff line change
Expand Up @@ -11190,16 +11190,14 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
#if defined(TARGET_NR_clock_adjtime) && defined(CONFIG_CLOCK_ADJTIME)
case TARGET_NR_clock_adjtime:
{
struct timex htx, *phtx = &htx;
struct timex htx;

if (target_to_host_timex(phtx, arg2) != 0) {
if (target_to_host_timex(&htx, arg2) != 0) {
return -TARGET_EFAULT;
}
ret = get_errno(clock_adjtime(arg1, phtx));
if (!is_error(ret) && phtx) {
if (host_to_target_timex(arg2, phtx) != 0) {
return -TARGET_EFAULT;
}
ret = get_errno(clock_adjtime(arg1, &htx));
if (!is_error(ret) && host_to_target_timex(arg2, &htx)) {
return -TARGET_EFAULT;
}
}
return ret;
Expand Down

0 comments on commit aab7461

Please sign in to comment.