It was possible for a reference to a frame which was part of a freed DSP to still be

referenced, leading to memory corruption and eventual crashes. This code change ensures
that the dsp is freed when we are finished with the frame. This change is very similar
to a change Russell made with translators back a month or so ago.

(closes issue #11999)
Reported by: destiny6628
Patches:
      11999.patch uploaded by putnopvut (license 60)
Tested by: destiny6628, victoryure



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2008-04-17 16:28:03 +00:00
parent afdcdafb2b
commit 71b704ef78
3 changed files with 39 additions and 1 deletions

View File

@@ -131,6 +131,10 @@ enum {
* The translator can not be free'd if the frame inside of it still has
* this flag set. */
AST_FRFLAG_FROM_TRANSLATOR = (1 << 1),
/*! This frame came from a dsp and is still the original frame.
* The dsp cannot be free'd if the frame inside of it still has
* this flag set. */
AST_FRFLAG_FROM_DSP = (1 << 2),
};
/*! \brief Data structure associated with a single frame of data