chiark / gitweb /
4ae3b8c6ac97eb237b36fa72f5b7018e74390322
[termux-packages] / packages / libelf / unstrip.c.patch
1 diff -u -r ../elfutils-0.166/src/unstrip.c ./src/unstrip.c
2 --- ../elfutils-0.166/src/unstrip.c     2016-01-12 07:49:19.000000000 -0500
3 +++ ./src/unstrip.c     2016-05-04 15:22:24.975567076 -0400
4 @@ -294,6 +294,7 @@
5  static void
6  make_directories (const char *path)
7  {
8 +  size_t substr_len;
9    const char *lastslash = strrchr (path, '/');
10    if (lastslash == NULL)
11      return;
12 @@ -303,7 +304,11 @@
13    if (lastslash == path)
14      return;
15  
16 -  char *dir = strndupa (path, lastslash - path);
17 +  substr_len = lastslash - path;
18 +  char *dir = alloca(substr_len+1);
19 +  strncpy(dir, path, substr_len);
20 +  dir[substr_len] = 0;
21 +
22    while (mkdir (dir, 0777) < 0 && errno != EEXIST)
23      if (errno == ENOENT)
24        make_directories (dir);