Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/compat/recallocarray.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | - | |||||||||||||
9 | void * | - | ||||||||||||
10 | recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size) | - | ||||||||||||
11 | { | - | ||||||||||||
12 | size_t oldsize, newsize; | - | ||||||||||||
13 | void *newptr; | - | ||||||||||||
14 | - | |||||||||||||
15 | if (ptr ==
| 1446-1958 | ||||||||||||
16 | ((void *)0)
| 1446-1958 | ||||||||||||
17 | ) | - | ||||||||||||
18 | return executed 1958 times by 10 tests: calloc(newnmemb, size);return calloc(newnmemb, size); Executed by:
executed 1958 times by 10 tests: return calloc(newnmemb, size); Executed by:
| 1958 | ||||||||||||
19 | - | |||||||||||||
20 | if ((newnmemb >= ((size_t)1 << (sizeof(size_t) * 4))
| 0-1446 | ||||||||||||
21 | newnmemb > 0
| 0 | ||||||||||||
22 | (
| 0 | ||||||||||||
23 | / newnmemb < size
| 0 | ||||||||||||
24 | - | |||||||||||||
25 | (*__errno_location ()) | - | ||||||||||||
26 | = | - | ||||||||||||
27 | 12 | - | ||||||||||||
28 | ; | - | ||||||||||||
29 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
30 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
31 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
32 | } | - | ||||||||||||
33 | newsize = newnmemb * size; | - | ||||||||||||
34 | - | |||||||||||||
35 | if ((oldnmemb >= ((size_t)1 << (sizeof(size_t) * 4))
| 0-1446 | ||||||||||||
36 | oldnmemb > 0
| 0 | ||||||||||||
37 | (
| 0 | ||||||||||||
38 | / oldnmemb < size
| 0 | ||||||||||||
39 | - | |||||||||||||
40 | (*__errno_location ()) | - | ||||||||||||
41 | = | - | ||||||||||||
42 | 22 | - | ||||||||||||
43 | ; | - | ||||||||||||
44 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
45 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
46 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
47 | } | - | ||||||||||||
48 | oldsize = oldnmemb * size; | - | ||||||||||||
49 | - | |||||||||||||
50 | - | |||||||||||||
51 | - | |||||||||||||
52 | - | |||||||||||||
53 | - | |||||||||||||
54 | if (newsize <= oldsize
| 0-1446 | ||||||||||||
55 | size_t d = oldsize - newsize; | - | ||||||||||||
56 | - | |||||||||||||
57 | if (d < oldsize / 2
| 0 | ||||||||||||
58 | memset((char *)ptr + newsize, 0, d); | - | ||||||||||||
59 | return never executed: ptr;return ptr; never executed: return ptr; | 0 | ||||||||||||
60 | } | - | ||||||||||||
61 | } never executed: end of block | 0 | ||||||||||||
62 | - | |||||||||||||
63 | newptr = malloc(newsize); | - | ||||||||||||
64 | if (newptr ==
| 0-1446 | ||||||||||||
65 | ((void *)0)
| 0-1446 | ||||||||||||
66 | ) | - | ||||||||||||
67 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
68 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
69 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
70 | - | |||||||||||||
71 | if (newsize > oldsize
| 0-1446 | ||||||||||||
72 | memcpy(newptr, ptr, oldsize); | - | ||||||||||||
73 | memset((char *)newptr + oldsize, 0, newsize - oldsize); | - | ||||||||||||
74 | } executed 1446 times by 9 tests: elseend of block Executed by:
| 1446 | ||||||||||||
75 | memcpy(newptr, ptr, newsize); never executed: memcpy(newptr, ptr, newsize); | 0 | ||||||||||||
76 | - | |||||||||||||
77 | explicit_bzero(ptr, oldsize); | - | ||||||||||||
78 | free(ptr); | - | ||||||||||||
79 | - | |||||||||||||
80 | return executed 1446 times by 9 tests: newptr;return newptr; Executed by:
executed 1446 times by 9 tests: return newptr; Executed by:
| 1446 | ||||||||||||
81 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |