Buck leads Marlins to 7-6 win over Reds