Merge commit '00b6a765430e5c5cacf0bd1be8b318d631cd4e14'
authorClément Bœsch <cboesch@gopro.com>
Fri, 5 May 2017 11:27:03 +0000 (13:27 +0200)
committerClément Bœsch <cboesch@gopro.com>
Fri, 5 May 2017 11:27:03 +0000 (13:27 +0200)
* commit '00b6a765430e5c5cacf0bd1be8b318d631cd4e14':
  hmac: Explicitly convert types at function pointer assignment

Merged-by: Clément Bœsch <cboesch@gopro.com>
1  2 
libavutil/hmac.c

  #include "hmac.h"
  #include "md5.h"
  #include "sha.h"
 +#include "sha512.h"
  #include "mem.h"
+ #include "version.h"
  
 -#define MAX_HASHLEN 32
 -#define MAX_BLOCKLEN 64
 +#define MAX_HASHLEN 64
 +#define MAX_BLOCKLEN 128
  
+ typedef void (*hmac_final)(void *ctx, uint8_t *dst);
+ #if FF_API_CRYPTO_SIZE_T
+ typedef void (*hmac_update)(void *ctx, const uint8_t *src, int len);
+ #else
+ typedef void (*hmac_update)(void *ctx, const uint8_t *src, size_t len);
+ #endif
+ typedef void (*hmac_init)(void *ctx);
  struct AVHMAC {
      void *hash;
      int blocklen, hashlen;
@@@ -92,26 -94,10 +103,26 @@@ AVHMAC *av_hmac_alloc(enum AVHMACType t
          c->blocklen = 64;
          c->hashlen  = 32;
          c->init     = sha256_init;
-         c->update   = (void*)av_sha_update;
-         c->final    = (void*)av_sha_final;
+         c->update   = (hmac_update) av_sha_update;
+         c->final    = (hmac_final) av_sha_final;
          c->hash     = av_sha_alloc();
          break;
-         c->update   = (void*)av_sha512_update;
-         c->final    = (void*)av_sha512_final;
 +    case AV_HMAC_SHA384:
 +        c->blocklen = 128;
 +        c->hashlen  = 48;
 +        c->init     = sha384_init;
-         c->update   = (void*)av_sha512_update;
-         c->final    = (void*)av_sha512_final;
++        c->update   = (hmac_update) av_sha512_update;
++        c->final    = (hmac_final) av_sha512_final;
 +        c->hash     = av_sha512_alloc();
 +        break;
 +    case AV_HMAC_SHA512:
 +        c->blocklen = 128;
 +        c->hashlen  = 64;
 +        c->init     = sha512_init;
++        c->update   = (hmac_update) av_sha512_update;
++        c->final    = (hmac_final) av_sha512_final;
 +        c->hash     = av_sha512_alloc();
 +        break;
      default:
          av_free(c);
          return NULL;