An obsolete weakness occurs when someone uses deprecated or obsolete functions when building a system. As a programming language evolves, some functions occasionally become obsolete.
This C routine is considered obsolete.
libqb-1.0.1/tests/check_util.c
The highlighted line of code below is the trigger point of this particular Centos 7 obsolete weakness.
qb_log(LOG_INFO, "overwrite split %d is %"PRIu64"", last, res);
last--;
} while (res > 0);
qb_util_stopwatch_free(sw);
}
END_TEST
START_TEST(test_check_normal)
{
uint64_t res;
uint32_t last;
qb_util_stopwatch_t *sw = qb_util_stopwatch_create();
qb_util_stopwatch_split_ctl(sw, 3, 0);
qb_util_stopwatch_start(sw);
usleep(33000);
/* 1 */
res = qb_util_stopwatch_split(sw);
assert_int_between(res, 30000, 36000);
last = qb_util_stopwatch_split_last(sw);
ck_assert_int_eq(last, 0);
usleep(10000);
/* 2 */
res = qb_util_stopwatch_split(sw);
assert_int_between(res, 9000, 11000);
usleep(20000);
/* 3 */
res = qb_util_stopwatch_split(sw);
assert_int_between(res, 19000, 21000);
/* no more space */
res = qb_util_stopwatch_split(sw);
ck_assert_int_eq(res, 0);
/*
* split should be 30000 (10000 + 20000) usec
*/
last = qb_util_stopwatch_split_last(sw);
ck_assert_int_eq(last, 2);
res = qb_util_stopwatch_time_split_get(sw, last, 0);
assert_int_between(res, 25000, 35000);
/* ask for a split that has beyond the max.
*/
res = qb_util_stopwatch_time_split_get(sw, 3, 2);
ck_assert_int_eq(res, 0);