[vlc-devel] commit: Check asprintf return value. ( Rémi Duraffort )
git version control
git at videolan.org
Wed Aug 13 23:24:05 CEST 2008
vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Wed Aug 13 22:35:34 2008 +0200| [322cd225871a785882bb579f207107d7e2e683ee] | committer: Rémi Duraffort
Check asprintf return value.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=322cd225871a785882bb579f207107d7e2e683ee
---
modules/codec/cmml/intf.c | 3 +-
modules/codec/realaudio.c | 49 ++++++++++++++++++++++++------------------
modules/control/http/util.c | 13 ++++++-----
modules/demux/asf/libasf.c | 9 +++++--
4 files changed, 43 insertions(+), 31 deletions(-)
diff --git a/modules/codec/cmml/intf.c b/modules/codec/cmml/intf.c
index 5f58b30..9704096 100644
--- a/modules/codec/cmml/intf.c
+++ b/modules/codec/cmml/intf.c
@@ -584,7 +584,8 @@ char *GetTimedURIFragmentForTime( int seconds )
{
char *psz_time;
- asprintf( &psz_time, "%d", seconds );
+ if( asprintf( &psz_time, "%d", seconds ) == -1 )
+ return NULL;
return psz_time;
}
diff --git a/modules/codec/realaudio.c b/modules/codec/realaudio.c
index c496908..6930827 100644
--- a/modules/codec/realaudio.c
+++ b/modules/codec/realaudio.c
@@ -345,19 +345,22 @@ static int OpenDll( decoder_t *p_dec )
for( i = 0; ppsz_path[i]; i++ )
{
/* Old format */
- asprintf( &psz_dll, "%s/%4.4s.so.6.0", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s/%4.4s.so.6.0", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
/* New format */
- asprintf( &psz_dll, "%s/%4.4s.so", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
-
+ if( asprintf( &psz_dll, "%s/%4.4s.so", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
}
#endif
@@ -366,18 +369,22 @@ static int OpenDll( decoder_t *p_dec )
for( i = 0; ppsz_path[i]; i++ )
{
/* New format */
- asprintf( &psz_dll, "%s\\%4.4s.dll", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s\\%4.4s.dll", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
/* Old format */
- asprintf( &psz_dll, "%s\\%4.4s3260.dll", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s\\%4.4s3260.dll", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
}
#endif
diff --git a/modules/control/http/util.c b/modules/control/http/util.c
index 067d4bb..cd84f68 100644
--- a/modules/control/http/util.c
+++ b/modules/control/http/util.c
@@ -315,13 +315,14 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root,
if( b_index && ( p = strstr( f->file, "index." ) ) )
{
- asprintf( &psz_redir, "%s%s", f->name, p );
-
- msg_Dbg( p_intf, "redir=%s -> %s", psz_redir, f->name );
- f->p_redir2 = httpd_RedirectNew( p_sys->p_httpd_host,
- f->name, psz_redir );
+ if( asprintf( &psz_redir, "%s%s", f->name, p ) != -1 )
+ {
+ msg_Dbg( p_intf, "redir=%s -> %s", psz_redir, f->name );
+ f->p_redir2 = httpd_RedirectNew( p_sys->p_httpd_host,
+ f->name, psz_redir );
- free( psz_redir );
+ free( psz_redir );
+ }
}
}
}
diff --git a/modules/demux/asf/libasf.c b/modules/demux/asf/libasf.c
index 6c75aa7..46183cb 100644
--- a/modules/demux/asf/libasf.c
+++ b/modules/demux/asf/libasf.c
@@ -1190,17 +1190,20 @@ static int ASF_ReadObject_extended_content_description( stream_t *s,
else if( i_type == 3 )
{
/* DWord */
- asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ4() );
+ if( asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ4() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else if( i_type == 4 )
{
/* QWord */
- asprintf( &p_ec->ppsz_value[i], "%"PRId64, ASF_READ8() );
+ if( asprintf( &p_ec->ppsz_value[i], "%"PRId64, ASF_READ8() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else if( i_type == 5 )
{
/* Word */
- asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ2() );
+ if( asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ2() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else
{
More information about the vlc-devel
mailing list