summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-06 11:19:48 -0500
committerDavid Robillard <d@drobilla.net>2014-12-06 11:19:48 -0500
commitddb7cc6d66c7850131e9d35ab6ace58df538fcec (patch)
treef33f9859359e3efecc36266a3268da6c0533b544 /libs
parent2e92ae90a661bfadfbbe06315c3eeea05314436b (diff)
More potential SMF crash fixes.
Diffstat (limited to 'libs')
-rw-r--r--libs/evoral/src/SMF.cpp6
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);
}