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);
> 
> 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to