termux-packages/packages/libelf/unstrip.c.patch
2016-05-04 15:31:11 -04:00

25 lines
722 B
Diff

diff -u -r ../elfutils-0.166/src/unstrip.c ./src/unstrip.c
--- ../elfutils-0.166/src/unstrip.c 2016-01-12 07:49:19.000000000 -0500
+++ ./src/unstrip.c 2016-05-04 15:22:24.975567076 -0400
@@ -294,6 +294,7 @@
static void
make_directories (const char *path)
{
+ size_t substr_len;
const char *lastslash = strrchr (path, '/');
if (lastslash == NULL)
return;
@@ -303,7 +304,11 @@
if (lastslash == path)
return;
- char *dir = strndupa (path, lastslash - path);
+ substr_len = lastslash - path;
+ char *dir = alloca(substr_len+1);
+ strncpy(dir, path, substr_len);
+ dir[substr_len] = 0;
+
while (mkdir (dir, 0777) < 0 && errno != EEXIST)
if (errno == ENOENT)
make_directories (dir);