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

Commit 2f92d85e authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix mSession NULL dereference" am: 64a5e990 am: e1391b7d

parents 4e604360 e1391b7d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -137,6 +137,8 @@ using ::aidl::android::hardware::drm::Status;
        *_aidl_return = static_cast<ssize_t>(offset);
        return toNdkScopedAStatus(Status::OK);
    } else if (in_args.mode == Mode::AES_CTR) {
        if (!mSession) return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE,
                    "session not found");
        size_t bytesDecrypted{};
        std::vector<int32_t> clearDataLengths;
        std::vector<int32_t> encryptedDataLengths;
@@ -149,6 +151,7 @@ using ::aidl::android::hardware::drm::Status;
            detailedError = "invalid decrypt parameter size";
            return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE, detailedError);
        }

        auto res =
                mSession->decrypt(in_args.keyId.data(), in_args.iv.data(),
                                  srcPtr, static_cast<uint8_t*>(destPtr),
+4 −0
Original line number Diff line number Diff line
@@ -211,6 +211,10 @@ Return<void> CryptoPlugin::decrypt_1_2(
            _hidl_cb(Status_V1_2::ERROR_DRM_CANNOT_HANDLE, 0, "invalid decrypt parameter size");
            return Void();
        }
        if (!mSession) {
            _hidl_cb(Status_V1_2::ERROR_DRM_CANNOT_HANDLE, 0, "session not found");
            return Void();
        }
        Status_V1_2 res = mSession->decrypt(keyId.data(), iv.data(), srcPtr,
                static_cast<uint8_t*>(destPtr), toVector(subSamples), &bytesDecrypted);
        if (res == Status_V1_2::OK) {