--- kmod-15.orig/libkmod/libkmod-util.c 2013-07-15 17:45:31.000000000 +0200 +++ kmod-15/libkmod/libkmod-util.c 2013-12-21 18:02:49.000000000 +0100 @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "libkmod.h" @@ -323,8 +324,12 @@ static inline int is_dir(const char *pat int mkdir_p(const char *path, int len, mode_t mode) { char *start, *end; + char buf[PATH_MAX+1]; - start = strndupa(path, len); + snprintf(buf, sizeof buf, "%s", path); + assert(len < sizeof(buf)); + buf[len] = 0; + start = buf; end = start + len; /*