Hi, All, I found that in bus-message.c , the bus_message_from_header() seems to misuse the _cleanup_free_ , int bus_message_from_header() { _cleanup_free_ sd_bus_message *m = NULL; ==> _cleanup_bus_message_unref_ sd_bus_message *m = NULL; } Is it right? Thanks! Li Cheng