Skip to content

gkm: fix test-sexp with GCC 14

Yaakov Selkowitz requested to merge yselkowitz/gnome-keyring:gcc14 into master

Seen during the Fedora 40 mass rebuild: https://koji.fedoraproject.org/koji/taskinfo?taskID=112280340

pkcs11/gkm/test-sexp.c: In function ‘test_sign_verify’:
pkcs11/gkm/test-sexp.c:231:92: error: passing argument 6 of ‘gkm_crypto_sign_xsa’ from incompatible pointer type [-Wincompatible-pointer-types]
  231 |         ret = gkm_crypto_sign_xsa (test->rsakey, CKM_RSA_PKCS, data, data_size, signature, &signature_size);
      |                                                                                            ^~~~~~~~~~~~~~~
      |                                                                                            |
      |                                                                                            gsize * {aka unsigned int *}
In file included from pkcs11/gkm/test-sexp.c:31:
./pkcs11/gkm/gkm-crypto.h:92:86: note: expected ‘CK_ULONG_PTR’ {aka ‘long unsigned int *’} but argument is of type ‘gsize *’ {aka ‘unsigned int *’}
   92 |                                                                         CK_ULONG_PTR n_signature);
      |                                                                         ~~~~~~~~~~~~~^~~~~~~~~~~
pkcs11/gkm/test-sexp.c:251:87: error: passing argument 6 of ‘gkm_crypto_sign_xsa’ from incompatible pointer type [-Wincompatible-pointer-types]
  251 |         ret = gkm_crypto_sign_xsa (test->dsakey, CKM_DSA, data, data_size, signature, &signature_size);
      |                                                                                       ^~~~~~~~~~~~~~~
      |                                                                                       |
      |                                                                                       gsize * {aka unsigned int *}
./pkcs11/gkm/gkm-crypto.h:92:86: note: expected ‘CK_ULONG_PTR’ {aka ‘long unsigned int *’} but argument is of type ‘gsize *’ {aka ‘unsigned int *’}
   92 |                                                                         CK_ULONG_PTR n_signature);
      |                                                                         ~~~~~~~~~~~~~^~~~~~~~~~~
pkcs11/gkm/test-sexp.c:271:91: error: passing argument 6 of ‘gkm_crypto_sign_xsa’ from incompatible pointer type [-Wincompatible-pointer-types]
  271 |         ret = gkm_crypto_sign_xsa (test->ecdsakey, CKM_ECDSA, data, data_size, signature, &signature_size);
      |                                                                                           ^~~~~~~~~~~~~~~
      |                                                                                           |
      |                                                                                           gsize * {aka unsigned int *}
./pkcs11/gkm/gkm-crypto.h:92:86: note: expected ‘CK_ULONG_PTR’ {aka ‘long unsigned int *’} but argument is of type ‘gsize *’ {aka ‘unsigned int *’}
   92 |                                                                         CK_ULONG_PTR n_signature);
      |                                                                         ~~~~~~~~~~~~~^~~~~~~~~~~

Merge request reports