0001-libckteec-replace-initializer.patch 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. From 4fff84cebc05a238a8fed3c66d7dcde18f9574fb Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Mon, 2 Nov 2020 08:04:14 +0100
  4. Subject: [PATCH] =?UTF-8?q?libckteec:=20replace=20{=C2=A0}=20initializer?=
  5. =?UTF-8?q?=20by=20{=C2=A00=20}?=
  6. MIME-Version: 1.0
  7. Content-Type: text/plain; charset=UTF-8
  8. Content-Transfer-Encoding: 8bit
  9. Replace { } initializer by { 0 } to fix the following build failure with
  10. gcc 4.8:
  11. libckteec/src/pkcs11_processing.c: In function 'ck_create_object':
  12. libckteec/src/pkcs11_processing.c:22:9: error: missing initializer for field 'buffer' of 'struct serializer' [-Werror=missing-field-initializers]
  13. struct serializer obj = { };
  14. ^
  15. Fixes: http://autobuild.buildroot.org/results/a3d663adb943aee814180f01d6e153b3309be962
  16. Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
  17. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  18. [Upstream status: https://github.com/OP-TEE/optee_client/pull/230]
  19. ---
  20. libckteec/src/pkcs11_processing.c | 4 ++--
  21. libckteec/src/serialize_ck.c | 4 ++--
  22. libckteec/src/serializer.c | 4 ++--
  23. 3 files changed, 6 insertions(+), 6 deletions(-)
  24. diff --git a/libckteec/src/pkcs11_processing.c b/libckteec/src/pkcs11_processing.c
  25. index 2eb191f5..8eebe769 100644
  26. --- a/libckteec/src/pkcs11_processing.c
  27. +++ b/libckteec/src/pkcs11_processing.c
  28. @@ -19,7 +19,7 @@ CK_RV ck_create_object(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR attribs,
  29. CK_ULONG count, CK_OBJECT_HANDLE_PTR handle)
  30. {
  31. CK_RV rv = CKR_GENERAL_ERROR;
  32. - struct serializer obj = { };
  33. + struct serializer obj = { 0 };
  34. size_t ctrl_size = 0;
  35. TEEC_SharedMemory *ctrl = NULL;
  36. TEEC_SharedMemory *out_shm = NULL;
  37. @@ -114,7 +114,7 @@ CK_RV ck_encdecrypt_init(CK_SESSION_HANDLE session,
  38. {
  39. CK_RV rv = CKR_GENERAL_ERROR;
  40. TEEC_SharedMemory *ctrl = NULL;
  41. - struct serializer obj = { };
  42. + struct serializer obj = { 0 };
  43. uint32_t session_handle = session;
  44. uint32_t key_handle = key;
  45. size_t ctrl_size = 0;
  46. diff --git a/libckteec/src/serialize_ck.c b/libckteec/src/serialize_ck.c
  47. index 1fc26ddc..0e5df90a 100644
  48. --- a/libckteec/src/serialize_ck.c
  49. +++ b/libckteec/src/serialize_ck.c
  50. @@ -39,7 +39,7 @@ static CK_RV serialize_indirect_attribute(struct serializer *obj,
  51. CK_ATTRIBUTE_PTR attr = NULL;
  52. CK_ULONG count = 0;
  53. CK_RV rv = CKR_GENERAL_ERROR;
  54. - struct serializer obj2 = { };
  55. + struct serializer obj2 = { 0 };
  56. switch (attribute->type) {
  57. /* These are serialized each separately */
  58. @@ -263,7 +263,7 @@ static CK_RV serialize_mecha_aes_iv(struct serializer *obj,
  59. CK_RV serialize_ck_mecha_params(struct serializer *obj,
  60. CK_MECHANISM_PTR mechanism)
  61. {
  62. - CK_MECHANISM mecha = { };
  63. + CK_MECHANISM mecha = { 0 };
  64. CK_RV rv = CKR_GENERAL_ERROR;
  65. memset(obj, 0, sizeof(*obj));
  66. diff --git a/libckteec/src/serializer.c b/libckteec/src/serializer.c
  67. index 0e3df65c..d94932ba 100644
  68. --- a/libckteec/src/serializer.c
  69. +++ b/libckteec/src/serializer.c
  70. @@ -14,7 +14,7 @@
  71. CK_RV init_serial_object(struct serializer *obj)
  72. {
  73. - struct pkcs11_object_head head = { };
  74. + struct pkcs11_object_head head = { 0 };
  75. memset(obj, 0, sizeof(*obj));
  76. @@ -23,7 +23,7 @@ CK_RV init_serial_object(struct serializer *obj)
  77. void finalize_serial_object(struct serializer *obj)
  78. {
  79. - struct pkcs11_object_head head = { };
  80. + struct pkcs11_object_head head = { 0 };
  81. head.attrs_size = obj->size - sizeof(head);
  82. head.attrs_count = obj->item_count;