diff options
author | Janis Danisevskis <jdanis@google.com> | 2018-08-23 11:03:45 -0700 |
---|---|---|
committer | Janis Danisevskis <jdanis@google.com> | 2018-09-04 19:42:10 +0000 |
commit | 56c533dfd96983823f12f2d6240b114bee798135 (patch) | |
tree | 5f7812b23802909febcb9f8b734c0a6ae5a6a403 /trusty | |
parent | ca10a6ffd3c2320c082f9d0d1f6a5c93564060de (diff) | |
download | system_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.cpp | 4 |
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); } } |