perl: Check for NULL before dereferencing
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 4 Dec 2015 20:30:14 +0000 (21:30 +0100)
committerFlorian Forster <octo@collectd.org>
Sat, 5 Dec 2015 07:50:29 +0000 (08:50 +0100)
CID #38023

Signed-off-by: Florian Forster <octo@collectd.org>
src/perl.c

index 5aa96c3..67cb842 100644 (file)
@@ -1643,15 +1643,15 @@ static XS (Collectd_plugin_dispatch_values)
 
        values = ST (/* stack index = */ 0);
 
+       if (NULL == values)
+               XSRETURN_EMPTY;
+
        /* Make sure the argument is a hash reference. */
        if (! (SvROK (values) && (SVt_PVHV == SvTYPE (SvRV (values))))) {
                log_err ("Collectd::plugin_dispatch_values: Invalid values.");
                XSRETURN_EMPTY;
        }
 
-       if (NULL == values)
-               XSRETURN_EMPTY;
-
        ret = pplugin_dispatch_values (aTHX_ (HV *)SvRV (values));
 
        if (0 == ret)