mse->metadata_version segmentation fault
Hi,
Just wanted to post an additional patch to fix segmentation fault with mdadm that was missed by eb28e119b03fd5149886ed516fa4bb006ad3602e.
Regards,
Jonathan
From e8ed972a1d104ebda80cf253a45cd95d96357a6c Mon Sep 17 00:00:00 2001
From: Jonathan Liu <[email protected]>
Date: Tue, 12 Apr 2011 18:28:01 +1000
Subject: [PATCH] 0.90 array do not report the metadata type in /proc/mdstat,
so we cannot assume that mse->metadata_version is non-NULL.
So add an appropriate check.
Adds an additional check missed by commit eb28e119b03fd5149886ed516fa4bb006ad3602e.
--- Monitor.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Monitor.c +2 -1
@@ -577,7 +577,8 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, info[i].major = info[i].minor =0 ; } -if (strncmp (mse->metadata_version,"external:" ,9 ) ==0 && +if (mse->metadata_version && +strncmp (mse->metadata_version,"external:" ,9 ) ==0 &&is_subarray (mse->metadata_version+9 )) st->parent_dev =devname2devnum (mse->metadata_version+10 );
Signature · 1 line
1.7.4.4
Quoted 1 line · Jonathan Liu
Just wanted to post an additional patch to fix segmentation fault with mdadm that was missed by
eb28e119b03fd5149886ed516fa4bb006ad3602e.
Slightly better formatted commit patch attached.
Regards,
Jonathan
From 2dce5f9292bba3cfe1cd89408114087b5df7638f Mon Sep 17 00:00:00 2001
From: Jonathan Liu <[email protected]>
Date: Tue, 12 Apr 2011 18:28:01 +1000
Subject: [PATCH] Monitor: avoid NULL dereference with 0.90 metadata
0.90 array do not report the metadata type in /proc/mdstat, so we cannot assume that mse->metadata_version is non-NULL.
So add an appropriate check.
This adds an additional check missed by commiteb28e119b03fd5149886ed516fa4bb006ad3602e.
--- Monitor.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Monitor.c +2 -1
@@ -577,7 +577,8 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, info[i].major = info[i].minor =0 ; } -if (strncmp (mse->metadata_version,"external:" ,9 ) ==0 && +if (mse->metadata_version && +strncmp (mse->metadata_version,"external:" ,9 ) ==0 &&is_subarray (mse->metadata_version+9 )) st->parent_dev =devname2devnum (mse->metadata_version+10 );
Signature · 1 line
1.7.4.4