| 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); |