From a283c722c66db126201aabf2e3e33ecdcd28b8f6 Mon Sep 17 00:00:00 2001 From: Luis Donoso Date: Wed, 18 May 2022 18:05:04 +0200 Subject: [PATCH] Fix warning when using key parameter of kmip_bio_register_symmetric_key *Problem*: clang 10 shows the following warning: ``` /libkmip/libkmip/src/kmip_bio.c:313:14: warning: assigning to 'uint8 *' (aka 'unsigned char *') from 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] bs.value = key; ^ ~~~ ``` *Solution:* Change the type of the parameter so it matches the requested type. --- kmippp/kmippp.cpp | 2 +- kmippp/kmippp.h | 2 +- libkmip/include/kmip_bio.h | 2 +- libkmip/src/kmip_bio.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kmippp/kmippp.cpp b/kmippp/kmippp.cpp index 50a5745..ae02722 100644 --- a/kmippp/kmippp.cpp +++ b/kmippp/kmippp.cpp @@ -160,7 +160,7 @@ context::id_t context::op_register(context::name_t name, name_t group, key_t key int id_max_len = 64; char* idp = nullptr; - int result = kmip_bio_register_symmetric_key(bio_, &ta, reinterpret_cast(key.data()), key.size(), &idp, &id_max_len); + int result = kmip_bio_register_symmetric_key(bio_, &ta, key.data(), key.size(), &idp, &id_max_len); std::string ret; if(idp != nullptr) { diff --git a/kmippp/kmippp.h b/kmippp/kmippp.h index 7955deb..47f9168 100644 --- a/kmippp/kmippp.h +++ b/kmippp/kmippp.h @@ -16,7 +16,7 @@ namespace kmippp { class context { public: - using key_t = std::vector; + using key_t = std::vector; using id_t = std::string; using ids_t = std::vector; using name_t = std::string; diff --git a/libkmip/include/kmip_bio.h b/libkmip/include/kmip_bio.h index eeb3798..a07a712 100644 --- a/libkmip/include/kmip_bio.h +++ b/libkmip/include/kmip_bio.h @@ -39,7 +39,7 @@ OpenSSH BIO API */ int kmip_bio_create_symmetric_key(BIO *, TemplateAttribute *, char **, int *); -int kmip_bio_register_symmetric_key(BIO *, TemplateAttribute *, char*, int, char **, int *); +int kmip_bio_register_symmetric_key(BIO *, TemplateAttribute *, uint8_t*, int, char **, int *); int kmip_bio_get_symmetric_key(BIO *, char *, int, char **, int *); int kmip_bio_get_name_attribute(BIO *, char *, int, char **, int *); int kmip_bio_destroy_symmetric_key(BIO *, char *, int); diff --git a/libkmip/src/kmip_bio.c b/libkmip/src/kmip_bio.c index be6ee1d..be4941e 100644 --- a/libkmip/src/kmip_bio.c +++ b/libkmip/src/kmip_bio.c @@ -264,7 +264,7 @@ int kmip_bio_create_symmetric_key(BIO *bio, int kmip_bio_register_symmetric_key(BIO *bio, TemplateAttribute *template_attribute, - char* key, int key_len, + uint8* key, int key_len, char **id, int *id_size) { if(bio == NULL || template_attribute == NULL || id == NULL || id_size == NULL || key == NULL || key_len == 0)