| 185 | } |
| 186 | |
| 187 | void |
| 188 | *debugRealloc(void *ptr, size_t size, const char *file, int line) |
| 189 | { |
| 190 | void *ret; |
| 191 | |
| 192 | if (ptr == NULL) { |
| 193 | ret = debugMalloc(size, file, line); |
| 194 | } |
| 195 | else { |
| 196 | MtraceNode *mtnode; |
| 197 | |
| 198 | mtnode = searchMtraceNode(ptr); |
| 199 | assert((mtnode != NULL) && (mtnode->magic == MTRACE_NODE_MAGIC)); |
| 200 | ret = realloc(ptr, size); |
| 201 | if (ret != NULL) { |
| 202 | ssize_t delta = (ssize_t)size - (ssize_t)mtnode->size; |
| 203 | |
| 204 | mtnode->ptr = ret; |
| 205 | mtnode->size = size; |
| 206 | MTRACE_LOCK(); |
| 207 | tracedSize += delta; |
| 208 | rawSize += delta; |
| 209 | MTRACE_UNLOCK(); |
| 210 | } |
| 211 | else { |
| 212 | debugFree(ptr); |
| 213 | } |
| 214 | } |
| 215 | |
| 216 | return ret; |
| 217 | } |
| 218 | |
| 219 | void |
| 220 | debugFree(void *ptr) |
nothing calls this directly
no test coverage detected