From 22789171167c95137b3babcef271d6dc5046e815 Mon Sep 17 00:00:00 2001 From: Robert Shih Date: Mon, 6 Apr 2020 15:47:20 -0700 Subject: [PATCH] WVDrmPlugin signRSA: check arguments before caller Merge of http://go/wvgerrit/97444 Bug: 153356263 Test: VtsHalDrmV1_0Target Test: VtsHalDrmV1_3Target Change-Id: Ic27056d86804972859a85c0eb2a0e79a0563d040 --- libwvdrmengine/mediadrm/src_hidl/WVDrmPlugin.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libwvdrmengine/mediadrm/src_hidl/WVDrmPlugin.cpp b/libwvdrmengine/mediadrm/src_hidl/WVDrmPlugin.cpp index c1ddb155..08981113 100644 --- a/libwvdrmengine/mediadrm/src_hidl/WVDrmPlugin.cpp +++ b/libwvdrmengine/mediadrm/src_hidl/WVDrmPlugin.cpp @@ -1732,6 +1732,12 @@ Return WVDrmPlugin::signRSA( const hidl_vec& wrappedKey, signRSA_cb _hidl_cb) { + if (sessionId.size() == 0 || algorithm.size() == 0 || + message.size() == 0 || wrappedKey.size() == 0) { + _hidl_cb(Status::BAD_VALUE, hidl_vec()); + return Void(); + } + const auto& self = android::hardware::IPCThreadState::self(); const char* sid = self->getCallingSid(); if (!sid || (!strstr(sid, "mediashell_app") && !strstr(sid, "mediadrmserver"))) { @@ -1740,11 +1746,6 @@ Return WVDrmPlugin::signRSA( return Void(); } - if (sessionId.size() == 0 || algorithm.size() == 0 || - message.size() == 0 || wrappedKey.size() == 0) { - _hidl_cb(Status::BAD_VALUE, hidl_vec()); - return Void(); - } const std::string algo(algorithm.c_str()); std::vector signature;