cisco / libsrtp

Library for SRTP (Secure Realtime Transport Protocol)
Other
1.19k stars 469 forks source link

[code] fix type conversion (XCode + arm64) #712

Open pbodilis opened 2 months ago

pbodilis commented 2 months ago

Compiling the lib for iOS, I got some warnings, the PR contains missing explicit conversions

/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_icm_ossl.c:309:52: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    if (!EVP_EncryptUpdate(c->ctx, buf, &len, buf, *enc_len)) {
         ~~~~~~~~~~~~~~~~~                         ^~~~~~~~
1 error generated.

...

/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:273:67: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
        if (!EVP_CIPHER_CTX_ctrl(c->ctx, EVP_CTRL_GCM_SET_TAG, c->tag_len,
             ~~~~~~~~~~~~~~~~~~~                               ~~~^~~~~~~
/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:279:40: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
    rv = EVP_Cipher(c->ctx, NULL, aad, aad_len);
         ~~~~~~~~~~                    ^~~~~~~
/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:307:34: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
    EVP_Cipher(c->ctx, buf, buf, *enc_len);
    ~~~~~~~~~~                   ^~~~~~~~
/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:336:63: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    if (!EVP_CIPHER_CTX_ctrl(c->ctx, EVP_CTRL_GCM_GET_TAG, c->tag_len, buf)) {
         ~~~~~~~~~~~~~~~~~~~                               ~~~^~~~~~~
/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:368:63: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    if (!EVP_CIPHER_CTX_ctrl(c->ctx, EVP_CTRL_GCM_SET_TAG, c->tag_len,
         ~~~~~~~~~~~~~~~~~~~                               ~~~^~~~~~~
/Users/engine/engine/builder-iOS.master/build/arm64/libs/libsrtp/crypto/cipher/aes_gcm_ossl.c:372:43: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
    EVP_Cipher(c->ctx, buf, buf, *enc_len - c->tag_len);
    ~~~~~~~~~~                   ~~~~~~~~~^~~~~~~~~~~~
6 errors generated.