adding debugging print statement, why is a double free happening in icmp?