diff options
Diffstat (limited to 'package/kmod/patches/patch-libkmod_libkmod-util_c')
-rw-r--r-- | package/kmod/patches/patch-libkmod_libkmod-util_c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/package/kmod/patches/patch-libkmod_libkmod-util_c b/package/kmod/patches/patch-libkmod_libkmod-util_c new file mode 100644 index 000000000..330fce456 --- /dev/null +++ b/package/kmod/patches/patch-libkmod_libkmod-util_c @@ -0,0 +1,24 @@ +--- 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 <unistd.h> + #include <errno.h> + #include <string.h> ++#include <limits.h> + #include <ctype.h> + + #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; + + /* |