]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdopen.c
mdadm.h: Introduced unaligned {get,put}_unaligned{16,32}()
[thirdparty/mdadm.git] / mdopen.c
index 4ec13f5eb5979a66234976115e1d466f7e005d76..98c54e433a5df1986af0e12dadb996b0f4f0836b 100644 (file)
--- a/mdopen.c
+++ b/mdopen.c
@@ -44,7 +44,7 @@ void make_parts(char *dev, int cnt)
        int nlen = strlen(dev) + 20;
        char *name;
        int dig = isdigit(dev[strlen(dev)-1]);
-       char orig[1024];
+       char orig[1001];
        char sym[1024];
        int err;
 
@@ -58,8 +58,10 @@ void make_parts(char *dev, int cnt)
                minor_num = minor(stb.st_rdev);
                odig = -1;
        } else if (S_ISLNK(stb.st_mode)) {
-               int len = readlink(dev, orig, sizeof(orig));
-               if (len < 0 || len > 1000)
+               int len;
+
+               len = readlink(dev, orig, sizeof(orig));
+               if (len < 0 || len >= (int)sizeof(orig))
                        return;
                orig[len] = 0;
                odig = isdigit(orig[len-1]);