]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r14209 from BUF_REMOVAL branch to trunk.
authorFlorian Krohm <florian@eich-krohm.de>
Sat, 27 Sep 2014 18:47:07 +0000 (18:47 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Sat, 27 Sep 2014 18:47:07 +0000 (18:47 +0000)
In VG_(redir_notify_new_DebugInfo) use a large enough buffer
allocated on the stack.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14581

coregrind/m_redir.c

index c0c6338e06db9f74649dd93ed975c67386be65eb..4d41aece34b11dbede7ba91fa49bd8db271388bd 100644 (file)
@@ -451,15 +451,15 @@ void VG_(redir_notify_new_DebugInfo)( DebugInfo* newdi )
             pointing to files inside the valgrind build directories. */
          struct vg_stat newdi_stat;
          SysRes newdi_res;
-         HChar in_vglib_filename[VKI_PATH_MAX];
          struct vg_stat in_vglib_stat;
          SysRes in_vglib_res;
 
          newdi_res = VG_(stat)(newdi_filename, &newdi_stat);
-         
-         VG_(strncpy) (in_vglib_filename, VG_(libdir), VKI_PATH_MAX);
-         VG_(strncat) (in_vglib_filename, "/", VKI_PATH_MAX);
-         VG_(strncat) (in_vglib_filename, newdi_basename, VKI_PATH_MAX);
+
+         HChar in_vglib_filename[VG_(strlen)(VG_(libdir)) + 1 +
+                                 VG_(strlen)(newdi_basename) + 1];
+         VG_(sprintf)("%s/%s", VG_(libdir), newdi_basename);
+
          in_vglib_res = VG_(stat)(in_vglib_filename, &in_vglib_stat);
 
          /* If we find newdi_basename in inner VALGRIND_LIB