goto clean;
}
- if (KM_DeserializeFlag(&in_buffer, &in_size_guard, &with_pwd)) {
- LOG("Error in deserialization");
- ret = TEE_ERROR_BAD_PARAMETERS;
- goto clean;
- }
-
- if (with_pwd) {
- if (KM_DeserializePwdData(&in_buffer, &in_size_guard, &pwdData)) {
- LOG("Error in deserialization");
- ret = TEE_ERROR_BAD_PARAMETERS;
- goto clean;
- }
- }
+ ret = (KM_DeserializeFlagAndPw(&in_buffer, &in_size_guard, &with_pwd, &pwdData));
+ if (ret != TEE_SUCCESS)
+ return ret;
objId.data_size = TEE_OBJECT_ID_MAX_LEN;
objId.data = malloc(objId.data_size);
ret = TEE_ERROR_BAD_PARAMETERS;
goto clean;
}
- if (KM_DeserializeFlag(&in_buffer, &in_size_guard, &with_pwd)) {
- LOG("Error in deserialization");
- ret = TEE_ERROR_BAD_PARAMETERS;
- goto clean;
- }
+ ret = KM_DeserializeFlagAndPw(&in_buffer, &in_size_guard, &with_pwd, &pwdData);
+ if (ret != TEE_SUCCESS)
+ return ret;
+
// doing this will read the size of data to read (assuming it was retrieved in prev. call to TA)
if (KM_DeserializeBinaryData(&out_buffer, &out_size_guard, &outData)) {
LOG("Error in deserialization");
goto clean;
}
if (with_pwd) {
- if (KM_DeserializePwdData(&in_buffer, &in_size_guard, &pwdData)) {
- LOG("Error in deserialization");
- ret = TEE_ERROR_BAD_PARAMETERS;
- goto clean;
- }
ret = KM_DecryptDataWithPwd(&pwdData, readData.data, readData.data_size, outData.data, &outData.data_size);
if (ret != TEE_SUCCESS) {
LOG("Failed to decrypt data with pwd");