Coverage Report

Created: 2023-03-26 08:33

/src/gnutls/lib/minitasn1/gstr.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2002-2022 Free Software Foundation, Inc.
3
 *
4
 * This file is part of LIBTASN1.
5
 *
6
 * The LIBTASN1 library is free software; you can redistribute it
7
 * and/or modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 2.1 of the License, or (at your option) any later version.
10
 *
11
 * This library is distributed in the hope that it will be useful, but
12
 * WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with this library; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
 * 02110-1301, USA
20
 */
21
22
#ifndef GSTR_H
23
# define GSTR_H
24
25
unsigned int _asn1_str_cpy (char *dest, size_t dest_tot_size,
26
          const char *src);
27
void _asn1_str_cat (char *dest, size_t dest_tot_size, const char *src);
28
29
0
# define Estrcpy(x,y) _asn1_str_cpy(x,ASN1_MAX_ERROR_DESCRIPTION_SIZE,y)
30
0
# define Estrcat(x,y) _asn1_str_cat(x,ASN1_MAX_ERROR_DESCRIPTION_SIZE,y)
31
32
inline static void
33
safe_memset (void *data, int c, size_t size)
34
0
{
35
0
  volatile unsigned volatile_zero = 0;
36
0
  volatile char *vdata = (volatile char *) data;
37
38
  /* This is based on a nice trick for safe memset,
39
   * sent by David Jacobson in the openssl-dev mailing list.
40
   */
41
42
0
  if (size > 0)
43
0
    do
44
0
      {
45
0
  memset (data, c, size);
46
0
      }
47
0
    while (vdata[volatile_zero] != c);
48
0
}
Unexecuted instantiation: coding.c:safe_memset
Unexecuted instantiation: decoding.c:safe_memset
Unexecuted instantiation: element.c:safe_memset
Unexecuted instantiation: gstr.c:safe_memset
Unexecuted instantiation: parser_aux.c:safe_memset
Unexecuted instantiation: structure.c:safe_memset
49
50
#endif /* GSTR_H */