"info" was being declared in two different scopes, and the one that was freed wasn't the one that was set.