> On Jun 11, 2015, at 9:07 PM, Dan McDonald <[email protected]> wrote:
> 
> typedef struct hmac_ctx_st {
>   const EVP_MD *md;
>   EVP_MD_CTX md_ctx;
>   EVP_MD_CTX i_ctx;
>   EVP_MD_CTX o_ctx;
>   unsigned int key_length;
>   unsigned char key[HMAC_MAX_MD_CBLOCK];
> + int key_init;
> } HMAC_CTX;

A cheesy, but binary compatible, fix might be:

typedef struct hmac_ctx_st {
  const EVP_MD *md;
  EVP_MD_CTX md_ctx;
  EVP_MD_CTX i_ctx;
  EVP_MD_CTX o_ctx;
  unsigned int key_init:1;   /* Ewww, cheesy use of bitfields... */
  unsigned int key_length:31;  /* but the sizeof (HMAC_CTX) doesn't change! */
  unsigned char key[HMAC_MAX_MD_CBLOCK];
} HMAC_CTX;


Dan

_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to