no double freeing C surface YAY