Browse Source

codec_decode cleanup (#1661)

pull/292/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
c629eb1e60
  1. 25
      Source/codec.cpp

25
Source/codec.cpp

@ -34,20 +34,21 @@ int codec_decode(BYTE *pbSrcDst, DWORD size, char *pszPassword)
memset(buf, 0, sizeof(buf)); memset(buf, 0, sizeof(buf));
sig = (CodecSignature *)pbSrcDst; sig = (CodecSignature *)pbSrcDst;
if (sig->error > 0) { if (sig->error > 0) {
size = 0; goto error;
SHA1Clear(); }
} else {
SHA1Result(0, dst); SHA1Result(0, dst);
if (sig->checksum != *(DWORD *)dst) { if (sig->checksum != *(DWORD *)dst) {
memset(dst, 0, sizeof(dst)); memset(dst, 0, sizeof(dst));
size = 0; goto error;
SHA1Clear();
} else {
size += sig->last_chunk_size - 64;
SHA1Clear();
}
} }
size += sig->last_chunk_size - 64;
SHA1Clear();
return size; return size;
error:
SHA1Clear();
return 0;
} }
void codec_init_key(int unused, char *pszPassword) void codec_init_key(int unused, char *pszPassword)

Loading…
Cancel
Save