From: cristy Date: Mon, 11 Jun 2012 11:08:33 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5454 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6240ac7e3764dc806f59c17313e0a4d905820d8;p=imagemagick --- diff --git a/MagickCore/cipher.c b/MagickCore/cipher.c index ca8086b86..314e83ae1 100644 --- a/MagickCore/cipher.c +++ b/MagickCore/cipher.c @@ -613,9 +613,7 @@ MagickExport MagickBooleanType PasskeyDecipherImage(Image *image, ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", image->filename); } - SetAESKey(aes_info,key); - key=DestroyStringInfo(key); - nonce=AcquireStringInfo(0); + nonce=SplitStringInfo(key,GetStringInfoLength(key)/2); if (nonce == (StringInfo *) NULL) { key=DestroyStringInfo(key); @@ -624,7 +622,10 @@ MagickExport MagickBooleanType PasskeyDecipherImage(Image *image, ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", image->filename); } + SetAESKey(aes_info,key); + key=DestroyStringInfo(key); signature_info=AcquireSignatureInfo(); + UpdateSignature(signature_info,nonce); SetStringInfoLength(nonce,sizeof(quantum_info->extent)); SetStringInfoDatum(nonce,(const unsigned char *) &quantum_info->extent); UpdateSignature(signature_info,nonce); @@ -813,9 +814,7 @@ MagickExport MagickBooleanType PasskeyEncipherImage(Image *image, ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", image->filename); } - SetAESKey(aes_info,key); - key=DestroyStringInfo(key); - nonce=AcquireStringInfo(0); + nonce=SplitStringInfo(key,GetStringInfoLength(key)/2); if (nonce == (StringInfo *) NULL) { key=DestroyStringInfo(key); @@ -824,7 +823,10 @@ MagickExport MagickBooleanType PasskeyEncipherImage(Image *image, ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", image->filename); } + SetAESKey(aes_info,key); + key=DestroyStringInfo(key); signature_info=AcquireSignatureInfo(); + UpdateSignature(signature_info,nonce); SetStringInfoLength(nonce,sizeof(quantum_info->extent)); SetStringInfoDatum(nonce,(const unsigned char *) &quantum_info->extent); UpdateSignature(signature_info,nonce);