diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2016-07-14 21:50:10 +0200 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2016-07-14 21:50:10 +0200 |
commit | 2390c69803c6afe38191fad339ce727d49aada2b (patch) | |
tree | b62826ae453ad1a098b5f4831fe1b3fe23ea9476 | |
parent | d22ee4f949b8879cc014425497e9ca12ec9e12cc (diff) |
Fixup of memory tracer.memory-tracer
-rw-r--r-- | cmake/CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/dbus/CMakeLists.txt | 2 | ||||
-rw-r--r-- | dbus/dbus-internals.c | 8 | ||||
-rw-r--r-- | dbus/dbus-internals.h | 6 | ||||
-rw-r--r-- | dbus/dbus-memory.c | 2 |
5 files changed, 17 insertions, 3 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index dc1675f3b..2b73d3cee 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -143,7 +143,7 @@ endif() if(DBUS_MEMORY_DEBUG) add_definitions(-DDBUS_MEMORY_DEBUG) find_package(Qt5 REQUIRED COMPONENTS Core) - set(DBUS_MEMORY_DEBUG_LIBRARY Qt5::Core dbghelp) + set(DBUS_MEMORY_DEBUG_LIBRARY Qt5::Core) endif() # analogous to AC_USE_SYSTEM_EXTENSIONS in configure.ac diff --git a/cmake/dbus/CMakeLists.txt b/cmake/dbus/CMakeLists.txt index f38f79f00..d0becd56d 100644 --- a/cmake/dbus/CMakeLists.txt +++ b/cmake/dbus/CMakeLists.txt @@ -276,7 +276,7 @@ if(WIN32) if(WINCE) target_link_libraries(dbus-1 ws2) else(WINCE) - target_link_libraries(dbus-1 ws2_32 advapi32 netapi32 iphlpapi ${DBUS_MEMORY_DEBUG_LIBRARY}) + target_link_libraries(dbus-1 ws2_32 advapi32 netapi32 iphlpapi dbghelp ${DBUS_MEMORY_DEBUG_LIBRARY}) endif(WINCE) else(WIN32) if(DEFINED DBUS_LIBRARY_REVISION) diff --git a/dbus/dbus-internals.c b/dbus/dbus-internals.c index 18db69ee8..7dd9a5c65 100644 --- a/dbus/dbus-internals.c +++ b/dbus/dbus-internals.c @@ -527,7 +527,11 @@ _dbus_trace_ref (const char *obj_name, * @returns newly-allocated copy. */ char* +#if DBUS_MEMORY_DEBUG +__dbus_strdup (const char *str, char *file, int line) +#else _dbus_strdup (const char *str) +#endif { size_t len; char *copy; @@ -537,7 +541,11 @@ _dbus_strdup (const char *str) len = strlen (str); +#if DBUS_MEMORY_DEBUG + copy = _dbus_malloc (len + 1, file, line); +#else copy = dbus_malloc (len + 1); +#endif if (copy == NULL) return NULL; diff --git a/dbus/dbus-internals.h b/dbus/dbus-internals.h index 7ec77e515..225a987fd 100644 --- a/dbus/dbus-internals.h +++ b/dbus/dbus-internals.h @@ -242,9 +242,15 @@ _dbus_assert_error_is_clear (const DBusError *error) #define _DBUS_ALIGN_ADDRESS(this, boundary) \ ((void*)_DBUS_ALIGN_VALUE(this, boundary)) +#if DBUS_MEMORY_DEBUG +#define _dbus_strdup(s) __dbus_strdup(s, __FILE__, __LINE__) DBUS_PRIVATE_EXPORT +char* __dbus_strdup (const char *str, char *file, int line); +#else +DBUS_PRIVATE_EXPORT char* _dbus_strdup (const char *str); +#endif void* _dbus_memdup (const void *mem, size_t n_bytes); DBUS_PRIVATE_EXPORT diff --git a/dbus/dbus-memory.c b/dbus/dbus-memory.c index 1a77d1f64..bdefff6ad 100644 --- a/dbus/dbus-memory.c +++ b/dbus/dbus-memory.c @@ -666,7 +666,7 @@ _dbus_realloc (void *memory, return NULL; } dbus_track_free (((unsigned char*)memory) - GUARD_START_OFFSET); - dbus_track_realloc (((unsigned char*)memory) - GUARD_START_OFFSET, bytes + GUARD_EXTRA_SIZE, file, line); + dbus_track_realloc (block, bytes + GUARD_EXTRA_SIZE, file, line); old_bytes = *(dbus_uint32_t*)block; if (bytes >= old_bytes) |