summaryrefslogtreecommitdiffstats
path: root/trusty
diff options
context:
space:
mode:
authorJanis Danisevskis <jdanis@google.com>2018-08-23 11:03:45 -0700
committerJanis Danisevskis <jdanis@google.com>2018-09-04 19:42:10 +0000
commit56c533dfd96983823f12f2d6240b114bee798135 (patch)
tree5f7812b23802909febcb9f8b734c0a6ae5a6a403 /trusty
parentca10a6ffd3c2320c082f9d0d1f6a5c93564060de (diff)
downloadsystem_core-56c533dfd96983823f12f2d6240b114bee798135.tar.gz
system_core-56c533dfd96983823f12f2d6240b114bee798135.tar.bz2
system_core-56c533dfd96983823f12f2d6240b114bee798135.zip
Fix disagreement of client_id/app_data pointer semantic
KM1/KM2 implementations should treat nullptr and KeymasterBlob{nullptr, 0} equally when passed in as client_id or app_data. However, trusty KM1 treats them differently. Bug: 113110105 Bug: 113084196 Change-Id: Ie0e2b5d60d808e4f7a8e48aeb4c694268f9bc0a1
Diffstat (limited to 'trusty')
-rw-r--r--trusty/keymaster/legacy/trusty_keymaster_device.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/trusty/keymaster/legacy/trusty_keymaster_device.cpp b/trusty/keymaster/legacy/trusty_keymaster_device.cpp
index ea00a92e0..afdf43bb0 100644
--- a/trusty/keymaster/legacy/trusty_keymaster_device.cpp
+++ b/trusty/keymaster/legacy/trusty_keymaster_device.cpp
@@ -122,10 +122,10 @@ template <typename RequestType>
void AddClientAndAppData(const keymaster_blob_t* client_id, const keymaster_blob_t* app_data,
RequestType* request) {
request->additional_params.Clear();
- if (client_id) {
+ if (client_id && client_id->data_length > 0) {
request->additional_params.push_back(TAG_APPLICATION_ID, *client_id);
}
- if (app_data) {
+ if (app_data && app_data->data_length > 0) {
request->additional_params.push_back(TAG_APPLICATION_DATA, *app_data);
}
}