diff options
author | David Robillard <d@drobilla.net> | 2014-12-06 11:19:48 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-06 11:19:48 -0500 |
commit | ddb7cc6d66c7850131e9d35ab6ace58df538fcec (patch) | |
tree | f33f9859359e3efecc36266a3268da6c0533b544 /libs | |
parent | 2e92ae90a661bfadfbbe06315c3eeea05314436b (diff) |
More potential SMF crash fixes.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/evoral/src/SMF.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/evoral/src/SMF.cpp b/libs/evoral/src/SMF.cpp index b75141d7fb..78800923ca 100644 --- a/libs/evoral/src/SMF.cpp +++ b/libs/evoral/src/SMF.cpp @@ -44,7 +44,7 @@ uint16_t SMF::num_tracks() const { Glib::Threads::Mutex::Lock lm (_smf_lock); - return _smf->number_of_tracks; + return _smf ? _smf->number_of_tracks : 0; } uint16_t @@ -167,7 +167,9 @@ SMF::create(const std::string& path, int track, uint16_t ppqn) THROW_FILE_ERROR for (int i = 0; i < track; ++i) { _smf_track = smf_track_new(); - assert(_smf_track); + if (!_smf_track) { + return -2; + } smf_add_track(_smf, _smf_track); } |