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

Commit 5ad14d9b authored by Robert Shih's avatar Robert Shih Committed by Automerger Merge Worker
Browse files

Merge "AMPEG4ElementaryAssembler: reject malformed desc" into rvc-dev am:...

Merge "AMPEG4ElementaryAssembler: reject malformed desc" into rvc-dev am: 433ccf7d am: bc827dfb am: b296d14c

Change-Id: I24389b3084a7bfec707b773120f82bb3bdeb7262
parents 0264215f b296d14c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -203,6 +203,14 @@ struct AUHeader {
    unsigned mSerial;
};

bool AMPEG4ElementaryAssembler::initCheck() {
    if(mSizeLength == 0 || mIndexLength == 0 || mIndexDeltaLength == 0) {
        android_errorWriteLog(0x534e4554, "124777537");
        return false;
    }
    return true;
}

ARTPAssembler::AssemblyStatus AMPEG4ElementaryAssembler::addPacket(
        const sp<ARTPSource> &source) {
    List<sp<ABuffer> > *queue = source->queue();
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ struct AMPEG4ElementaryAssembler : public ARTPAssembler {
    AMPEG4ElementaryAssembler(
            const sp<AMessage> &notify, const AString &desc,
            const AString &params);
    virtual bool initCheck();

protected:
    virtual ~AMPEG4ElementaryAssembler();
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ struct ARTPAssembler : public RefBase {

    void onPacketReceived(const sp<ARTPSource> &source);
    virtual void onByeReceived() = 0;
    virtual bool initCheck() { return true; }

protected:
    virtual AssemblyStatus assembleMore(const sp<ARTPSource> &source) = 0;
+8 −2
Original line number Diff line number Diff line
@@ -82,6 +82,10 @@ ARTPSource::ARTPSource(
    } else {
        TRESPASS();
    }

    if (mAssembler != NULL && !mAssembler->initCheck()) {
        mAssembler.clear();
    }
}

static uint32_t AbsDiff(uint32_t seq1, uint32_t seq2) {
@@ -89,7 +93,7 @@ static uint32_t AbsDiff(uint32_t seq1, uint32_t seq2) {
}

void ARTPSource::processRTPPacket(const sp<ABuffer> &buffer) {
    if (queuePacket(buffer) && mAssembler != NULL) {
    if (mAssembler != NULL && queuePacket(buffer)) {
        mAssembler->onPacketReceived(this);
    }
}
@@ -171,8 +175,10 @@ bool ARTPSource::queuePacket(const sp<ABuffer> &buffer) {
}

void ARTPSource::byeReceived() {
    if (mAssembler != NULL) {
        mAssembler->onByeReceived();
    }
}

void ARTPSource::addFIR(const sp<ABuffer> &buffer) {
    if (!mIssueFIRRequests) {