Index: main/channel.c =================================================================== --- main/channel.c (revision 229008) +++ main/channel.c (working copy) @@ -1128,6 +1128,8 @@ { struct ast_frame f = { AST_FRAME_CONTROL, }; + ast_assert(datalen > 0 ? data != NULL : data == NULL); + f.subclass = control; f.data.ptr = (void *) data; f.datalen = datalen; @@ -4818,7 +4820,7 @@ case AST_CONTROL_VIDUPDATE: case AST_CONTROL_SRCUPDATE: case AST_CONTROL_T38_PARAMETERS: - ast_indicate_data(other, f->subclass, f->data.ptr, f->datalen); + ast_indicate_data(other, f->subclass, f->datalen > 0 ? f->data.ptr : NULL, f->datalen); if (jb_in_use) { ast_jb_empty_and_reset(c0, c1); }