]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
Fix off-by-one in readlink() buffer size handling
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index e1aaf4d9457804ecd7f7aab1f71bbf68d7235d91..a5fcdd0388ced1f7b9898a9409c8a0246df4013d 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -619,7 +619,7 @@ int sysfs_add_disk(struct mdinfo *sra, struct mdinfo *sd, int resume)
 
        memset(nm, 0, sizeof(nm));
        sprintf(dv, "/sys/dev/block/%d:%d", sd->disk.major, sd->disk.minor);
-       rv = readlink(dv, nm, sizeof(nm));
+       rv = readlink(dv, nm, sizeof(nm)-1);
        if (rv <= 0)
                return -1;
        nm[rv] = '\0';