Bug 404046 - getTracksInfo() tries to read past end of tracks list
Summary: getTracksInfo() tries to read past end of tracks list
Status: RESOLVED DUPLICATE of bug 400660
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface (show other bugs)
Version: 18.12.1
Platform: Appimage Linux
: NOR crash
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-06 23:56 UTC by Mazin07
Modified: 2019-02-07 19:57 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
kdenlive project file that causes kdenlive to crash (49.51 KB, application/x-kdenlive)
2019-02-06 23:56 UTC, Mazin07
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mazin07 2019-02-06 23:56:48 UTC
Created attachment 117905 [details]
kdenlive project file that causes kdenlive to crash

SUMMARY

When opening a certain .kdenlive project file, kdenlive crashes in getTracksInfo() when it tries to get a track for an index that doesn't exist. Seems to be a mismatch between tracksCount() and the actual number of elements in m_tracks.

The project file was created by kdenlive 17.12.3 but crash exhibits on 17.12.3 and 18.*. Could be bugginess in kdenlive internal data model that produces bad project file.

STEPS TO REPRODUCE
1. Open attached kdenlive project file.
2. Observe SIGSEGV in Mlt::Properties::get()

OBSERVED RESULT

Backtrace sample:

#0  0x00007ffff6dcfef0 in Mlt::Properties::get(char const*) () at /usr/lib/x86_64-linux-gnu/libmlt++.so.3
#1  0x0000555555744dda in Track::info() (this=0x0) at ./src/timeline/track.cpp:604
#2  0x0000555555735760 in Timeline::getTracksInfo() (this=0x55555917daa0) at ./src/timeline/timeline.cpp:710
#3  0x00005555556aad0e in TransitionSettings::updateProjectFormat() (this=0x5555587c81f0) at ./src/project/transitionsettings.cpp:131
#4  0x00005555559bfec2 in MainWindow::connectDocument() (this=0x555555ec0d40) at ./src/mainwindow.cpp:1951


EXPECTED RESULT

The file should load properly or, if it is corrupted, an error should be printed saying what went wrong and the application should exit gracefully.
Comment 1 Mazin07 2019-02-07 19:57:01 UTC

*** This bug has been marked as a duplicate of bug 400660 ***