This was found by oss-fuzz
Bug can be reproduced by running
gpg --import clusterfuzz-testcase-minimized-fuzz_import-5741152576208896.dms
Stack trace gives :
==1==ERROR: LeakSanitizer: detected memory leaks Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x4b1342 in malloc _asan_rtl_ #1 0x76498a in do_malloc /src/libgcrypt-1.8.2/src/global.c:918:6 #2 0x76484b in _gcry_malloc /src/libgcrypt-1.8.2/src/global.c:940:3 #3 0x76512e in _gcry_xmalloc /src/libgcrypt-1.8.2/src/global.c:1114:17 #4 0x5499ed in read_block /src/gnupg/g10/import.c:986:21 #5 0x551f53 in import /src/gnupg/g10/import.c:592:17 #6 0x54cf7f in import_keys_internal /src/gnupg/g10/import.c:493:21 #7 0x54ccb7 in import_keys /src/gnupg/g10/import.c:533:3
This appeared a month ago between commits bdda31a26bc69b6ee72e964510db113645de76ef and f799e9728bcadb3d4148a47848c78c5647860ea4 and is still valid at commit 64a5fd37271a3e454c0d59ac3500e1a1b232e4f7