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