OpenCoverage

malloca.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/lib/malloca.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4typedef unsigned char small_t;-
5-
6_Static_assert (2 * sa_alignment_max - 1 <= (small_t) -1, "verify (" "2 * sa_alignment_max - 1 <= (small_t) -1" ")");-
7-
8void *-
9mmalloca (size_t n)-
10{-
11-
12-
13-
14 size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1;-
15-
16 if (nplus >= n
nplus >= nDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
17 {-
18 char *mem = (char *) malloc (nplus);-
19-
20 if (mem !=
mem != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
21 ((void *)0)
mem != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
22 )-
23 {-
24 char *p =-
25 (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1)-
26 & ~(uintptr_t)(2 * sa_alignment_max - 1))-
27 + sa_alignment_max);-
28-
29-
30-
31-
32-
33 ((small_t *) p)[-1] = p - mem;-
34-
35 return
never executed: return p;
p;
never executed: return p;
0
36 }-
37 }
never executed: end of block
0
38-
39 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
40 ((void *)0)
never executed: return ((void *)0) ;
0
41 ;
never executed: return ((void *)0) ;
0
42-
43-
44-
45-
46-
47-
48-
49}-
50-
51-
52void-
53freea (void *p)-
54{-
55-
56 if ((
(uintptr_t) p ...nment_max - 1)Description
TRUEnever evaluated
FALSEnever evaluated
uintptr_t) p & (sa_alignment_max - 1)
(uintptr_t) p ...nment_max - 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
57 {-
58-
59 abort ();
never executed: abort ();
0
60 }-
61-
62 if ((
(uintptr_t) p ..._alignment_maxDescription
TRUEnever evaluated
FALSEnever evaluated
uintptr_t) p & sa_alignment_max
(uintptr_t) p ..._alignment_maxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
63 {-
64 void *mem = (char *) p - ((small_t *) p)[-1];-
65 free (mem);-
66 }
never executed: end of block
0
67}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2