[vlc-commits] Fix Hurd build
    Samuel Thibault 
    git at videolan.org
       
    Sun May  1 10:14:10 CEST 2016
    
    
  
vlc/vlc-2.2 | branch: master | Samuel Thibault <samuel.thibault at ens-lyon.org> | Wed Apr 27 13:47:13 2016 +0200| [425f4e12ca869d58e74d3edca4ff400b45167b73] | committer: Rémi Denis-Courmont
Fix Hurd build
theme_loader.cpp contains an unconditional use of PATH_MAX,
which is not defined on GNU/Hurd to avoid imposing build-time
limits. This change replaces its use with dynamic allocation of the
required size.
Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>
(cherry picked from commit daa50fbf8e7d009ff1b224bdc06c7f68dfd61eaf)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=425f4e12ca869d58e74d3edca4ff400b45167b73
---
 modules/gui/skins2/src/theme_loader.cpp |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules/gui/skins2/src/theme_loader.cpp b/modules/gui/skins2/src/theme_loader.cpp
index 6766be5..5100249 100644
--- a/modules/gui/skins2/src/theme_loader.cpp
+++ b/modules/gui/skins2/src/theme_loader.cpp
@@ -549,7 +549,9 @@ int tar_extract_all( TAR *t, char *prefix )
     union tar_buffer buffer;
     int   len, err, getheader = 1, remaining = 0;
     FILE  *outfile = NULL;
-    char  fname[BLOCKSIZE + PATH_MAX];
+    long  path_max = pathconf (".", _PC_PATH_MAX);
+    size_t maxsize = (path_max == -1 || path_max > 4096) ? 4096 : path_max;
+    char  fname[BLOCKSIZE + maxsize];
 
     while( 1 )
     {
@@ -583,7 +585,7 @@ int tar_extract_all( TAR *t, char *prefix )
                 break;
             }
 
-            sprintf( fname, "%s/%s", prefix, buffer.header.name );
+            snprintf( fname, sizeof(fname), "%s/%s", prefix, buffer.header.name );
 
             /* Check magic value in header */
             if( strncmp( buffer.header.magic, "GNUtar", 6 ) &&
    
    
More information about the vlc-commits
mailing list