dein byteArray wird erzeugt, aber nur beim erfolgreichen Load per SetLength freigegeben.
Das stimmt natürlich und wäre prinzipiell auch eine Falle für ein Speicherleck, ist aber nur ein Fehler hier im Demoprojekt. Da die OpenSSL-Bibliothek bei mir immer geladen werden kann, ist das ByteArray auch immer freigegeben worden.
Leider ist das noch nicht die eigentliche Ursache.
Hm.
Die Doku von OpenSSL gibt ja an, dass der Pointer auf das Array irgendwie verbogen wird und nachher hinter die übergebenen Byts zeigt. Irgendwie wird es wohl damit zusammenhängen. Man müsste sich also die ursprüngliche Adresse merken und sichergehen, dass man das richtige freigibt.