From: RĂ©mi Duraffort Date: Sun, 2 Mar 2008 12:24:35 +0000 (+0100) Subject: Check the returned values of malloc. X-Git-Tag: 0.9.0-test0~2385 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=3f9cee77afc85efbf1a53329df98b1ac74e1327c;p=vlc Check the returned values of malloc. --- diff --git a/src/modules/modules.c b/src/modules/modules.c index b505d1ceda..b59d4ce3d9 100644 --- a/src/modules/modules.c +++ b/src/modules/modules.c @@ -819,11 +819,20 @@ char ** __module_GetModulesNamesForCapability( vlc_object_t *p_this, if( psz_module_capability && !strcmp( psz_module_capability, psz_capability ) ) count++; } - /* FIXME: must check the return value and modify the calling functions - to test for a NULL : potential segfault */ + psz_ret = malloc( sizeof(char*) * (count+1) ); if( pppsz_longname ) *pppsz_longname = malloc( sizeof(char*) * (count+1) ); + if( !psz_ret || ( pppsz_longname && *pppsz_longname == NULL ) ) + { + msg_Err( p_this, "out of memory" ); + free( psz_ret ); + free( *pppsz_longname ); + *pppsz_longname = NULL; + vlc_list_release( p_list ); + return NULL; + } + j = 0; for( i = 0 ; i < p_list->i_count; i++) {