mt.disconnect() performs free(). If we call it twice with the same argument, we will get double free()