X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-message.c;h=0f19ee238ada80b3be29556d16ebeae902fdcd9d;hb=9a636ed8096fa44927f182ac3eaef4104866d4a9;hp=4488e7b6b37115cc4597aa97ad750542c435446e;hpb=224a1ed4c152c394d42b8a6fd78159af400d5df3;p=elogind.git diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c index 4488e7b6b..0f19ee238 100644 --- a/src/libsystemd-bus/bus-message.c +++ b/src/libsystemd-bus/bus-message.c @@ -791,7 +791,9 @@ _public_ sd_bus_message* sd_bus_message_ref(sd_bus_message *m) { } _public_ sd_bus_message* sd_bus_message_unref(sd_bus_message *m) { - assert_return(m, NULL); + + if (!m) + return NULL; assert(m->n_ref > 0); m->n_ref--; @@ -3061,7 +3063,7 @@ static int message_peek_body( } part = find_part(m, start, nbytes, (void**) &q); - if (!part || !q) + if (!part || (nbytes > 0 && !q)) return -EBADMSG; *rindex = end;