--- arrayprobe-2.0/probe.c.orig 2006-01-03 13:11:17.000000000 +0000 +++ arrayprobe-2.0/probe.c 2008-08-26 17:00:09.000000000 +0100 @@ -354,7 +354,7 @@ int drivenum = event.detail.logstatchange.logicaldrivenumber; logdrvs[drivenum].state.state = event.detail.logstatchange.newlogicaldrivestate; logdrvs[drivenum].state.severity = logicaldrivestatusseverity[event.detail.logstatchange.newlogicaldrivestate]; - logdrvs[drivenum].state.message = (char *)malloc(strlen(logicaldrivestatusstr[event.detail.logstatchange.newlogicaldrivestate] + 1)); + logdrvs[drivenum].state.message = (char *)malloc(strlen(logicaldrivestatusstr[event.detail.logstatchange.newlogicaldrivestate]) + 1); strcpy (logdrvs[drivenum].state.message, logicaldrivestatusstr[event.detail.logstatchange.newlogicaldrivestate]); } if (verbose) { @@ -456,7 +456,7 @@ logdrvs[counter].drvnum = counter; logdrvs[counter].state.state = result; logdrvs[counter].state.severity = logicaldrivestatusseverity[result]; - logdrvs[counter].state.message = (char *)malloc(strlen(logicaldrivestatusstr[result] + 1)); + logdrvs[counter].state.message = (char *)malloc(strlen(logicaldrivestatusstr[result]) + 1); strcpy(logdrvs[counter].state.message, logicaldrivestatusstr[result]); log ("Logical drive %d found on controller %s\n", counter, device); }