Coverage Report

Created: 2026-11-12 06:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/suricata8/src/threadvars.c
Line
Count
Source
1
/* Copyright (C) 2026 Open Information Security Foundation
2
 *
3
 * You can copy, redistribute or modify this Program under the terms of
4
 * the GNU General Public License version 2 as published by the Free
5
 * Software Foundation.
6
 *
7
 * This program is distributed in the hope that it will be useful,
8
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 * GNU General Public License for more details.
11
 *
12
 * You should have received a copy of the GNU General Public License
13
 * version 2 along with this program; if not, write to the Free Software
14
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
 * 02110-1301, USA.
16
 */
17
18
#include "suricata-common.h"
19
#include "threadvars.h"
20
#include "thread-storage.h"
21
22
/**
23
 * \brief Allocate a new ThreadVars structure.
24
 *
25
 * \retval NULL if allocation failed.
26
 * \retval Pointer to newly allocated ThreadVars structure.
27
 */
28
ThreadVars *ThreadVarsAlloc(void)
29
8
{
30
8
    ThreadVars *tv = SCCalloc(1, sizeof(ThreadVars) + ThreadStorageSize());
31
8
    if (tv == NULL)
32
0
        return NULL;
33
8
    SC_ATOMIC_INIT(tv->flags);
34
8
    SCMutexInit(&tv->perf_public_ctx.m, NULL);
35
8
    return tv;
36
8
}
37
38
/**
39
 * \brief Free a ThreadVars structure.
40
 *
41
 * \param tv Pointer to ThreadVars structure to be freed.
42
 */
43
void ThreadVarsFree(ThreadVars *tv)
44
0
{
45
0
    if (tv == NULL)
46
0
        return;
47
0
    SCFree(tv);
48
0
}