Merged revisions 346763 via svnmerge from
authorAlexandr Anikin <may@telecom-service.ru>
Fri, 2 Dec 2011 18:03:31 +0000 (18:03 +0000)
committerAlexandr Anikin <may@telecom-service.ru>
Fri, 2 Dec 2011 18:03:31 +0000 (18:03 +0000)
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r346763 | may | 2011-12-02 20:42:32 +0400 (Fri, 02 Dec 2011) | 14 lines

  Merged revisions 346762 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r346762 | may | 2011-12-02 20:19:19 +0400 (Fri, 02 Dec 2011) | 7 lines

    process null frame pointer returned by ast_rtp_instance_read correctly

    (closes issue ASTERISK-16697)
    Reported by: under
    Patches:
            segfault.diff (License #5871) patch uploaded by under
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346777 65c4cc65-6c06-0410-ace0-fbb531ad65f3

addons/chan_ooh323.c
channels/chan_h323.c

index bca7a8b..988778b 100644 (file)
@@ -4579,7 +4579,7 @@ struct ast_frame *ooh323_rtp_read(struct ast_channel *ast, struct ooh323_pvt *p)
                f = &null_frame;
        }
 
-       if (p->owner && !p->faxmode && (f->frametype == AST_FRAME_VOICE)) {
+       if (f && p->owner && !p->faxmode && (f->frametype == AST_FRAME_VOICE)) {
                /* We already hold the channel lock */
                if (!(ast_format_cap_iscompatible(p->owner->nativeformats, &f->subclass.format))) {
                        ast_debug(1, "Oooh, voice format changed to %s\n", ast_getformatname(&f->subclass.format));
index 23952b7..5f28720 100644 (file)
@@ -772,7 +772,7 @@ static struct ast_frame *oh323_rtp_read(struct oh323_pvt *pvt)
        if (f && (f->frametype == AST_FRAME_DTMF) && !(pvt->options.dtmfmode & (H323_DTMF_RFC2833 | H323_DTMF_CISCO))) {
                return &ast_null_frame;
        }
-       if (pvt->owner) {
+       if (f && pvt->owner) {
                /* We already hold the channel lock */
                if (f->frametype == AST_FRAME_VOICE) {
                        if (!ast_format_cap_iscompatible(pvt->owner->nativeformats, &f->subclass.format)) {