diff --git a/modules/access/smb.c b/modules/access/smb.c index 3f21b6be03afa42b1d92498166db4d5680e2d52b..b5f518b366e5b47349d03486e3839da99cff3e8b 100644 --- a/modules/access/smb.c +++ b/modules/access/smb.c @@ -198,21 +198,24 @@ static int Open( vlc_object_t *p_this ) #ifdef WIN32 if( psz_user ) Win32AddConnection( p_access, psz_path, psz_user, psz_pwd, psz_domain); - asprintf( &psz_uri, "//%s", psz_path ); + i_ret = asprintf( &psz_uri, "//%s", psz_path ); #else if( psz_user ) - asprintf( &psz_uri, "smb://%s%s%s%s%s@%s", - psz_domain ? psz_domain : "", psz_domain ? ";" : "", - psz_user, psz_pwd ? ":" : "", - psz_pwd ? psz_pwd : "", psz_path ); + i_ret = asprintf( &psz_uri, "smb://%s%s%s%s%s@%s", + psz_domain ? psz_domain : "", psz_domain ? ";" : "", + psz_user, psz_pwd ? ":" : "", + psz_pwd ? psz_pwd : "", psz_path ); else - asprintf( &psz_uri, "smb://%s", psz_path ); + i_ret = asprintf( &psz_uri, "smb://%s", psz_path ); #endif free( psz_user ); free( psz_pwd ); free( psz_domain ); + if( i_ret == -1 ) + return VLC_ENOMEM; + #ifdef USE_CTX if( !(p_smb = smbc_new_context()) ) {