Line | Source Code | Coverage |
---|
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | __attribute__((visibility("default"))) void *qMalloc(size_t size) __attribute__((alloc_size(1))); | - |
6 | __attribute__((visibility("default"))) void qFree(void *ptr); | - |
7 | __attribute__((visibility("default"))) void *qRealloc(void *ptr, size_t size) __attribute__((alloc_size(2))); | - |
8 | | - |
9 | | - |
10 | | - |
11 | void *qMalloc(size_t size) | - |
12 | { | - |
13 | return ::malloc(size); never executed: return ::malloc(size); | 0 |
14 | } | - |
15 | | - |
16 | void qFree(void *ptr) | - |
17 | { | - |
18 | ::free(ptr); | - |
19 | } | 0 |
20 | | - |
21 | void *qRealloc(void *ptr, size_t size) | - |
22 | { | - |
23 | return ::realloc(ptr, size); never executed: return ::realloc(ptr, size); | 0 |
24 | } | - |
25 | | - |
26 | void *qMallocAligned(size_t size, size_t alignment) | - |
27 | { | - |
28 | return qReallocAligned(0, size, 0, alignment); executed: return qReallocAligned(0, size, 0, alignment); Execution Count:1440 | 1440 |
29 | } | - |
30 | | - |
31 | void *qReallocAligned(void *oldptr, size_t newsize, size_t oldsize, size_t alignment) | - |
32 | { | - |
33 | | - |
34 | (void)oldsize;; | - |
35 | | - |
36 | void *actualptr = oldptr ? static_cast<void **>(oldptr)[-1] : 0; partially evaluated: oldptr no Evaluation Count:0 | yes Evaluation Count:1440 |
| 0-1440 |
37 | if (alignment <= sizeof(void*)) { evaluated: alignment <= sizeof(void*) yes Evaluation Count:239 | yes Evaluation Count:1201 |
| 239-1201 |
38 | | - |
39 | void **newptr = static_cast<void **>(realloc(actualptr, newsize + sizeof(void*))); | - |
40 | if (!newptr) partially evaluated: !newptr no Evaluation Count:0 | yes Evaluation Count:239 |
| 0-239 |
41 | return 0; never executed: return 0; | 0 |
42 | if (newptr == actualptr) { partially evaluated: newptr == actualptr no Evaluation Count:0 | yes Evaluation Count:239 |
| 0-239 |
43 | | - |
44 | return oldptr; never executed: return oldptr; | 0 |
45 | } | - |
46 | | - |
47 | *newptr = newptr; | - |
48 | return newptr + 1; executed: return newptr + 1; Execution Count:239 | 239 |
49 | } | - |
50 | void *real = realloc(actualptr, newsize + alignment); | - |
51 | if (!real) partially evaluated: !real no Evaluation Count:0 | yes Evaluation Count:1201 |
| 0-1201 |
52 | return 0; never executed: return 0; | 0 |
53 | | - |
54 | quintptr faked = reinterpret_cast<quintptr>(real) + alignment; | - |
55 | faked &= ~(alignment - 1); | - |
56 | | - |
57 | void **faked_ptr = reinterpret_cast<void **>(faked); | - |
58 | | - |
59 | | - |
60 | | - |
61 | | - |
62 | faked_ptr[-1] = real; | - |
63 | | - |
64 | return faked_ptr; executed: return faked_ptr; Execution Count:1201 | 1201 |
65 | } | - |
66 | | - |
67 | void qFreeAligned(void *ptr) | - |
68 | { | - |
69 | if (!ptr) evaluated: !ptr yes Evaluation Count:2 | yes Evaluation Count:1437 |
| 2-1437 |
70 | return; executed: return; Execution Count:2 | 2 |
71 | void **ptr2 = static_cast<void **>(ptr); | - |
72 | free(ptr2[-1]); | - |
73 | } executed: } Execution Count:1437 | 1437 |
74 | | - |
75 | | - |
76 | | - |
| | |