diff options
author | Robin Gareus <robin@gareus.org> | 2016-11-12 16:19:27 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-11-12 16:19:27 +0100 |
commit | 7daee17f87d297d6be3117eb6f1ad7440e01d9bb (patch) | |
tree | 6f8107f270845bc2cbe6b80dc14871f4778fff0b /gtk2_ardour/audio_clock.cc | |
parent | a32a2727091df4a9df36d4546a9b178a2e453c68 (diff) |
fix buffer overflow printing tempo/meter
Diffstat (limited to 'gtk2_ardour/audio_clock.cc')
-rw-r--r-- | gtk2_ardour/audio_clock.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index a657916b6d..a453b80d16 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -1228,7 +1228,7 @@ AudioClock::set_timecode (framepos_t when, bool /*force*/) void AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/) { - char buf[16]; + char buf[64]; Timecode::BBT_Time BBT; bool negative = false; @@ -1316,12 +1316,12 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/) TempoMetric m (_session->tempo_map().metric_at (pos)); - sprintf (buf, "%-5.3f/%f", _session->tempo_map().tempo_at_frame (pos).note_types_per_minute(), m.tempo().note_type()); + snprintf (buf, sizeof(buf), "%-5.3f/%f", _session->tempo_map().tempo_at_frame (pos).note_types_per_minute(), m.tempo().note_type()); /* XXX this doesn't fit inside the container. */ _left_layout->set_markup (string_compose ("<span size=\"%1\">" TXTSPAN "%3</span> <span foreground=\"green\">%2</span></span>", INFO_FONT_SIZE, buf, _("Tempo"))); - sprintf (buf, "%g/%g", m.meter().divisions_per_bar(), m.meter().note_divisor()); + snprintf (buf, sizeof(buf), "%g/%g", m.meter().divisions_per_bar(), m.meter().note_divisor()); _right_layout->set_markup (string_compose ("<span size=\"%1\">" TXTSPAN "%3</span> <span foreground=\"green\">%2</span></span>", INFO_FONT_SIZE, buf, _("Meter"))); } |