I'm probably just stupid:
fileref_t *fref;
while (gli_filereflist != NULL)
{
fref = gli_filereflist;
if (fref != NULL)
{
glk_fileref_destroy(fref); <-------- Use of memory after it is freed
fref = NULL;
}
}
This is after I added the NULL check and explicitly set fref to NULL after free().
Xcode 12.3. Original code here.
If this is a false positive, is there a way to silence it?
EDIT: gli_filereflist is a linked list, which will point to the next item in the list when the first one is destroyed.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…