/* * __wrap_strdup - malloc wrapper function */ void *__wrap_strdup(const char *ptr) { void *lptr = __real_strdup(ptr); printf("@ %s:[%p] + %p\n", program_invocation_short_name , __builtin_return_address(0) , lptr ); return lptr; }
char* __wrap_strdup(const char *s) { char *ptr = __real_strdup(s); char error[512]; if (ptr == NULL) { strerror_r(errno, (char *) &error, sizeof(error)); log_itf(LOG_ERROR, "strdup() failed: (%d) %s", errno, error); exit(EXIT_FAILURE); } return ptr; }