Opened 7 years ago

Closed 7 years ago

#1380 closed defect (fixed)

m_callerOwnsSEIs is not initialized

Reported by: Vadim Owned by:
Priority: minor Milestone: HM-16.4
Component: HM Version: HM-16.3
Keywords: Cc: ksuehring, davidf, karlsharman, jct-vc@…

Description

m_callerOwnsSEIs (SEI.h, line 487) is not initialized for SEIScalableNesting, however it is used in the destructor.

It can be fixed as the following:

  SEIScalableNesting()
    : m_callerOwnsSEIs(false)
  {}

Change History (2)

comment:1 Changed 7 years ago by DefaultCC Plugin

  • Cc ksuehring davidf karlsharman jct-vc@… added

comment:2 Changed 7 years ago by ksuehring

  • Milestone set to HM-16.4
  • Resolution set to fixed
  • Status changed from new to closed

I've committed the suggested version in r4345

But in general that construction is not very safe. If the flag is set wrong, we end up either in double free or memory leaks. So it's hard to determine a "safe" initialization value.

Also the construction existed only for sharing the SEI structures at the encoder, which used to just pass a pointer to the picture timing and buffering period SEI messages into the scalable nesting.

Now with the recent SEI encoder rewrite, which introduced delayed SEI writing, this sharing is not possible anymore. So we don't need m_callerOwnsSEIs anymore. Actually it was still used incorrectly at the encoder, causing a memory leak.

I have removed m_callerOwnsSEIs in r4346

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Participant, Always)
  • Vadim Seregin(Reporter)