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

Commit e1c24e23 authored by Keith Mok's avatar Keith Mok
Browse files

bittube_fuzzer: Fix memory leak

This test has memory leak, and fuzzing will terminate after a single
iteration. Bittube is a RefBase object, need to use sp instead of
declared it as a local variable directly.

Test: bittube_fuzzer
Bug: 241346940
Bug: 243132994
Change-Id: I34c8fd0a5c5daf8c368689f2104a42e013d3a03f
parent e583df86
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -24,14 +24,14 @@ using namespace android;

extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
    FuzzedDataProvider fdp(data, size);
    BitTube bittube(size);
    sp<BitTube> bittube(new BitTube(size));
    Parcel parcel[5];
    bittube.writeToParcel(parcel);
    bittube->writeToParcel(parcel);
    sp<BitTube> tube(new BitTube(size));
    bittube.sendObjects<uint8_t>(tube, data, size);
    bittube->sendObjects<uint8_t>(tube, data, size);
    uint8_t recvData[size];
    for (int i = 0; i < size; i++) recvData[i] = fdp.ConsumeIntegral<uint8_t>();
    bittube.recvObjects<uint8_t>(tube, recvData, size);
    bittube->recvObjects<uint8_t>(tube, recvData, size);

    return 0;
}