[libdvdcss-devel] [Git][videolan/libdvdcss][master] Squelch potential buffer overflow warning
Jean-Baptiste Kempf
gitlab at videolan.org
Tue Feb 12 15:03:15 CET 2019
Jean-Baptiste Kempf pushed to branch master at VideoLAN / libdvdcss
Commits:
f93ae872 by astian at 2019-02-12T14:03:03Z
Squelch potential buffer overflow warning
GCC 7.3 points out that a buffer of size PATH_MAX is being written to
with data that can theoretically overflow (a string of maximum size
PATH_MAX plus other constant-size strings). Fix this by replacing
sprintf with snprintf.
Signed-off-by: astian <astian at elude.in>
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
- - - - -
1 changed file:
- src/libdvdcss.c
Changes:
=====================================
src/libdvdcss.c
=====================================
@@ -320,7 +320,19 @@ static int init_cache_dir( dvdcss_t dvdcss )
return -1;
}
- sprintf( psz_tagfile, "%s/" CACHE_TAG_NAME, dvdcss->psz_cachefile );
+ i_ret = snprintf( psz_tagfile, PATH_MAX, "%s/" CACHE_TAG_NAME,
+ dvdcss->psz_cachefile );
+ if ( i_ret < 0 || i_ret >= PATH_MAX)
+ {
+ if ( i_ret < 0)
+ print_error( dvdcss, "failed to compose cache directory tag path");
+ else
+ print_error( dvdcss, "cache directory tag path too long: %s/" CACHE_TAG_NAME,
+ dvdcss->psz_cachefile );
+ dvdcss->psz_cachefile[0] = '\0';
+ return -1;
+ }
+
i_fd = open( psz_tagfile, O_RDWR|O_CREAT, 0644 );
if( i_fd >= 0 )
{
View it on GitLab: https://code.videolan.org/videolan/libdvdcss/commit/f93ae872f22bc404aa998ef127242d2e10de1b3c
--
View it on GitLab: https://code.videolan.org/videolan/libdvdcss/commit/f93ae872f22bc404aa998ef127242d2e10de1b3c
You're receiving this email because of your account on code.videolan.org.
More information about the libdvdcss-devel
mailing list