Ticket #242 (new defect)

Opened 4 years ago

Digest contexts are leaked.

Reported by: David Brown <plt@…> Owned by: soegaard
Priority: major Milestone:
Component: soegaard/digest.plt Keywords:
Cc: Version: (1 2)
Racket Version: 4.2.3

Description

The library uses EVP_MD_CTX_create to create each digest, but never calls EVP_MD_CTX_cleanup. This causes the EVP library to leak the context descriptor for each call.

(require (planet soegaard/digest:1:2/digest))
(let loop () (bytes-digest #"Hello" 'sha1) (loop))

quickly consumes large amounts of memory, and doesn't release it.

Note: See TracTickets for help on using tickets.