/
githubmirror
/
audit-userspace
Обзор
Документация
Войти
/
githubmirror
/
audit-userspace
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/ausearch_time_test.c
78 строк
2 KB
Steve Grubb
ausearch: reject trailing eoe timeout characters
27 июл 2026, 17:01
27 июл 2026, 17:01
b38e9ce
Код
Авторство
О чём код?
/* * ausearch_time_test.c - ausearch time parsing regression tests * Copyright 2026 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #include "config.h" #include <assert.h> #include <limits.h> #include <stdio.h> #include <time.h> #include "ausearch-time.h" /* * test_eoe_timeout_range - reject timeouts that narrow to negative time_t * @void: no input * * Returns: None. Failures abort through assert(). */ static void test_eoe_timeout_range(void) { char value[64]; time_t timeout = 17; assert(ausearch_parse_eoe_timeout("2", &timeout) == 0); assert(timeout == 2); assert(ausearch_parse_eoe_timeout("0", &timeout) == -1); assert(timeout == 2); assert(snprintf(value, sizeof(value), "%lu", (unsigned long)LONG_MAX - 1) > 0); assert(ausearch_parse_eoe_timeout(value, &timeout) == 0); assert(timeout == (time_t)LONG_MAX - 1); assert(snprintf(value, sizeof(value), "%lu", (unsigned long)LONG_MAX) > 0); assert(ausearch_parse_eoe_timeout(value, &timeout) == -1); assert(timeout == (time_t)LONG_MAX - 1); assert(snprintf(value, sizeof(value), "%lu", (unsigned long)LONG_MAX + 1) > 0); assert(ausearch_parse_eoe_timeout(value, &timeout) == -1); assert(timeout == (time_t)LONG_MAX - 1); } /* * test_eoe_timeout_syntax - reject characters after a decimal timeout * @void: no input * * Returns: None. Failures abort through assert(). */ static void test_eoe_timeout_syntax(void) { time_t timeout = 17; assert(ausearch_parse_eoe_timeout("2garbage", &timeout) == -1); assert(timeout == 17); assert(ausearch_parse_eoe_timeout("2 ", &timeout) == -1); assert(timeout == 17); } /* * main - run ausearch time parsing regression tests * @void: no input * * Returns: 0 when all tests pass. */ int main(void) { test_eoe_timeout_range(); test_eoe_timeout_syntax(); return 0; }