[vlc-commits] demux: avi: fix potential NULL deref in GET_ATTACHMENTS
Francois Cartegnie
git at videolan.org
Sun Nov 13 21:01:05 CET 2016
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Sun Nov 13 20:20:18 2016 +0100| [1e88646c52013d9088a70562581eca36e831e4ec] | committer: Francois Cartegnie
demux: avi: fix potential NULL deref in GET_ATTACHMENTS
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1e88646c52013d9088a70562581eca36e831e4ec
---
modules/demux/avi/avi.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index 0820d88..97ded16 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -1728,11 +1728,15 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
input_attachment_t ***ppp_attach = va_arg( args, input_attachment_t*** );
int *pi_int = va_arg( args, int * );
- *pi_int = p_sys->i_attachment;
- *ppp_attach = calloc( p_sys->i_attachment, sizeof(**ppp_attach));
- for( unsigned i = 0; i < p_sys->i_attachment && *ppp_attach; i++ )
- (*ppp_attach)[i] = vlc_input_attachment_Duplicate( p_sys->attachment[i] );
- return VLC_SUCCESS;
+ *ppp_attach = calloc( p_sys->i_attachment, sizeof(**ppp_attach) );
+ if( likely(*ppp_attach) )
+ {
+ *pi_int = p_sys->i_attachment;
+ for( unsigned i = 0; i < p_sys->i_attachment; i++ )
+ (*ppp_attach)[i] = vlc_input_attachment_Duplicate( p_sys->attachment[i] );
+ return VLC_SUCCESS;
+ }
+ return VLC_EGENERIC;
}
default:
More information about the vlc-commits
mailing list