Klar, für die Ausgabe ist ja primär auch nur wichtig an der entsprechenden Adresse die entsprechenden Daten zu finden. Dass bei der Erstellung der Daten andere Variablen zerstört wurden interessiert da ja erst mal nicht.
Du überschreibst dort eine andere Variable (außer du hast das Glück, dass buffer die letzte Variable im Speicher ist). Das kann alle möglichen Auswirkungen haben. Wie wäre es einfach mit Ausprobieren?