Gábor Melis mega@retes.hu schrieb am 14.08.2020 um 00:40 in Nachricht
CADJFn4Xp1XESjGC01_bpjy8huvKBCovdAuFoZmJXgMo_2ZnffQ@mail.gmail.com:
...
- mdb_txns are calloc()ed and free()d. In the case where a thread performs some operation (e.g. put, get, del) involving an already freed mdb_txn pointer, what kind of nastiness can happen? Can the database be corrupted?
...
I can't answer specifically, but in general double-freeing memory or using memory that had been freed already is a bad idea. Many years ago when I had written a C program for an MS-DOS PC, suddenly the screen was flickering showing random characters, then the PC froze. It was just a double-free. So _anything_ can happen if you continue to use memory alredy freed. It is possible that some newer libraries protect against double-freeing memry (at least as long as the memory wasn'r reallocated again), but still...
Regards, Ulrich