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;