svn commit: r297526 - head/sys/geom/sched
Kevin Lo
kevlo at FreeBSD.org
Sun Apr 3 16:59:49 UTC 2016
On Sun, Apr 03, 2016 at 04:25:51PM +0000, Pedro F. Giffuni wrote:
>
> Author: pfg
> Date: Sun Apr 3 16:25:51 2016
> New Revision: 297526
> URL: https://svnweb.freebsd.org/changeset/base/297526
>
> Log:
> g_sched_destroy(): prevent return of uninitialized scalar variable.
>
> For the !gsp case there some chance of returning an uninitialized
> return value. Prevent that from happening by initializing the
> error value.
Hmm, wouldn't it be better to initialize 'error' before use?
Index: sys/geom/sched/g_sched.c
===================================================================
--- sys/geom/sched/g_sched.c (revision 297527)
+++ sys/geom/sched/g_sched.c (working copy)
@@ -1236,7 +1236,7 @@ g_sched_destroy(struct g_geom *gp, boolean_t force
struct g_provider *pp, *oldpp = NULL;
struct g_sched_softc *sc;
struct g_gsched *gsp;
- int error;
+ int error = 0;
g_topology_assert();
sc = gp->softc;
@@ -1316,8 +1316,7 @@ g_sched_destroy(struct g_geom *gp, boolean_t force
gsp->gs_fini(sc->sc_data);
g_gsched_unref(gsp);
sc->sc_gsched = NULL;
- } else
- error = 0;
+ }
if ((sc->sc_flags & G_SCHED_PROXYING) && oldpp) {
error = g_destroy_proxy(gp, oldpp);
>
> CID: 1006421
>
> Modified:
> head/sys/geom/sched/g_sched.c
>
> Modified: head/sys/geom/sched/g_sched.c
> ==============================================================================
> --- head/sys/geom/sched/g_sched.c Sun Apr 3 14:40:54 2016 (r297525)
> +++ head/sys/geom/sched/g_sched.c Sun Apr 3 16:25:51 2016 (r297526)
> @@ -1316,7 +1316,8 @@ g_sched_destroy(struct g_geom *gp, boole
> gsp->gs_fini(sc->sc_data);
> g_gsched_unref(gsp);
> sc->sc_gsched = NULL;
> - }
> + } else
> + error = 0;
>
> if ((sc->sc_flags & G_SCHED_PROXYING) && oldpp) {
> error = g_destroy_proxy(gp, oldpp);
>
>
More information about the svn-src-head
mailing list