summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2010-05-31 09:10:39 +0000
committeravg <avg@FreeBSD.org>2010-05-31 09:10:39 +0000
commit4abc4c484d1147acd24fc4d5a3e9cc56c8051a4a (patch)
treed6a53ef107be8960d5254b15cc4472de1c686aaa /sys/geom
parent8557da2a5752d74e202acdb26a40175c14303019 (diff)
downloadFreeBSD-src-4abc4c484d1147acd24fc4d5a3e9cc56c8051a4a.zip
FreeBSD-src-4abc4c484d1147acd24fc4d5a3e9cc56c8051a4a.tar.gz
g_label: fix possible NULL pointer dereference
in case glabel debug level is >= 1 and gp->provider list is empty for some reason Found by: clang static analyzer MFC after: 4 days
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/label/g_label.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/geom/label/g_label.c b/sys/geom/label/g_label.c
index 48329aa..73054fa 100644
--- a/sys/geom/label/g_label.c
+++ b/sys/geom/label/g_label.c
@@ -203,10 +203,8 @@ g_label_destroy(struct g_geom *gp, boolean_t force)
pp->acr, pp->acw, pp->ace);
return (EBUSY);
}
- } else {
- G_LABEL_DEBUG(1, "Label %s removed.",
- LIST_FIRST(&gp->provider)->name);
- }
+ } else if (pp != NULL)
+ G_LABEL_DEBUG(1, "Label %s removed.", pp->name);
g_slice_spoiled(LIST_FIRST(&gp->consumer));
return (0);
}
OpenPOWER on IntegriCloud