X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_update.c;h=0335a9ef27670a37e1e10675ac3281dac8f9d710;hp=83ef7064347ab615f1b09950f27b94fb18f28f4b;hb=096bb3f53482c95c3d2dd09e8c7b2329f6c1c2ff;hpb=2c2a2654452de47d1504e7a5b6e4e63d0abb860e diff --git a/src/rrd_update.c b/src/rrd_update.c index 83ef706..0335a9e 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.4.2 Copyright by Tobi Oetiker, 1997-2009 + * RRDtool 1.4.3 Copyright by Tobi Oetiker, 1997-2010 * Copyright by Florian Forster, 2008 ***************************************************************************** * rrd_update.c RRD Update Function @@ -1354,6 +1354,10 @@ static int process_pdp_st( rpnp = rpn_expand((rpn_cdefds_t *) &(rrd->ds_def[ds_idx].par[DS_cdef])); + if(rpnp == NULL) { + rpnstack_free(&rpnstack); + return -1; + } /* substitute data values for OP_VARIABLE nodes */ for (i = 0; rpnp[i].op != OP_END; i++) { if (rpnp[i].op == OP_VARIABLE) { @@ -1367,6 +1371,7 @@ static int process_pdp_st( rpnstack_free(&rpnstack); return -1; } + free(rpnp); } /* make pdp_prep ready for the next run */