Hi Hackers, Per Coverity.
Coverity complaints about pg_cryptohash_final function. And I agree with Coverity, it's a bad design. Its allows this: #define MY_RESULT_LENGTH 32 function pgtest(char * buffer, char * text) { pg_cryptohash_ctx *ctx; uint8 digest[MY_RESULT_LENGTH]; ctx = pg_cryptohash_create(PG_SHA512); pg_cryptohash_init(ctx); pg_cryptohash_update(ctx, (uint8 *) buffer, text); pg_cryptohash_final(ctx, digest); // <-- CID 1446240 (#1 of 1): Out-of-bounds access (OVERRUN) pg_cryptohash_free(ctx); return } Attached has a patch with suggestions to make things better. regards, Ranier Vilela
pg_cryptohash.patch
Description: Binary data