From 4f2c5aef95b428fcfa3e5bf0b53306aa233e087e Mon Sep 17 00:00:00 2001 From: Chiawei Wang Date: Tue, 16 Jun 2020 23:47:08 +0800 Subject: [PATCH] ANDROID: lib/vdso: do not update timespec if clock_getres() fails In __cvdso_clock_getres_time32(), when clock_getres_fallback() fails, it's not required to update the struct timespec res. Signed-off-by: Chiawei Wang Reviewed-by: Mark Salyzyn Bug: 159086668 Bug: 154668398 Test: run cts -m CtsBionicTestCases -t time#clock_getres_unknown Change-Id: Ibb7279d4520658d5c8be76e721249d3c62267d9f --- lib/vdso/gettimeofday.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/vdso/gettimeofday.c b/lib/vdso/gettimeofday.c index 4f82b7abe076..9ea1ffd9cf47 100644 --- a/lib/vdso/gettimeofday.c +++ b/lib/vdso/gettimeofday.c @@ -232,8 +232,11 @@ __cvdso_clock_getres_time32(clockid_t clock, struct old_timespec32 *res) if (unlikely(ret)) return clock_getres32_fallback(clock, res); #else - if (unlikely(ret)) + if (unlikely(ret)) { ret = clock_getres_fallback(clock, &ts); + if (unlikely(ret)) + return ret; + } #endif if (likely(res)) {