Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d679e02 authored by Andreas Huber's avatar Andreas Huber
Browse files

Fix memory leak when carrying ABuffer* in AMessages.

Change-Id: Icb4770ca238d316e6dd2d89159357a8fdb504ea9
parent d4933842
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ void AMessage::freeItem(Item *item) {

        case kTypeObject:
        case kTypeMessage:
        case kTypeBuffer:
        {
            if (item->u.refValue != NULL) {
                item->u.refValue->decStrong(this);
@@ -292,6 +293,7 @@ sp<AMessage> AMessage::dup() const {
            }

            case kTypeObject:
            case kTypeBuffer:
            {
                to->u.refValue = from->u.refValue;
                to->u.refValue->incStrong(msg.get());
@@ -396,6 +398,10 @@ AString AMessage::debugString(int32_t indent) const {
                tmp = StringPrintf(
                        "RefBase *%s = %p", item.mName, item.u.refValue);
                break;
            case kTypeBuffer:
                tmp = StringPrintf(
                        "ABuffer *%s = %p", item.mName, item.u.refValue);
                break;
            case kTypeMessage:
                tmp = StringPrintf(
                        "AMessage %s = %s",