diff --git a/main/astobj2.c b/main/astobj2.c index 02fff97f22..c390198686 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -117,9 +117,16 @@ static inline struct astobj2 *INTERNAL_OBJ(void *user_data) } p = (struct astobj2 *) ((char *) user_data - sizeof(*p)); - if (AO2_MAGIC != (p->priv_data.magic) ) { - ast_log(LOG_ERROR, "bad magic number 0x%x for %p\n", p->priv_data.magic, p); - p = NULL; + if (AO2_MAGIC != p->priv_data.magic) { + if (p->priv_data.magic) { + ast_log(LOG_ERROR, "bad magic number 0x%x for object %p\n", + p->priv_data.magic, user_data); + } else { + ast_log(LOG_ERROR, + "bad magic number for object %p. Object is likely destroyed.\n", + user_data); + } + return NULL; } return p;