Changeset 1275

Show
Ignore:
Timestamp:
02/20/10 16:14:30 (5 months ago)
Author:
astrange
Message:

Fix uninitialized data use in MKV import. (introduced in r400)

defaultDuration was set without being checked if it existed.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/MatroskaImportPrivate.cpp

    r1246 r1275  
    253253                        KaxTrackNumber & number = GetChild<KaxTrackNumber>(track); 
    254254                        KaxTrackType & type = GetChild<KaxTrackType>(track); 
    255                         KaxTrackDefaultDuration & defaultDuration = GetChild<KaxTrackDefaultDuration>(track); 
     255                        KaxTrackDefaultDuration * defaultDuration = FindChild<KaxTrackDefaultDuration>(track); 
    256256                        KaxTrackFlagDefault & enabled = GetChild<KaxTrackFlagDefault>(track); 
    257257                        KaxTrackFlagLacing & lacing = GetChild<KaxTrackFlagLacing>(track); 
     
    260260                        mkvTrack.number = uint16(number); 
    261261                        mkvTrack.type = uint8(type); 
    262                         mkvTrack.defaultDuration = uint32(defaultDuration) / float(timecodeScale) + .5; 
     262                        if (defaultDuration) 
     263                                mkvTrack.defaultDuration = uint32(*defaultDuration) / float(timecodeScale) + .5; 
     264                        else 
     265                                mkvTrack.defaultDuration = 0; 
    263266                        mkvTrack.isEnabled = uint8(enabled); 
    264267                        mkvTrack.usesLacing = uint8(lacing);