]> sigrok.org Git - libsigrokdecode.git/blobdiff - instance.c
valgrind: free channels
[libsigrokdecode.git] / instance.c
index 86b826f25f9bb6656965c4522f2c99c29470114e..e4cf0bfbf1b9118ac874cbbea1301f9af6ca871b 100644 (file)
@@ -558,6 +558,10 @@ SRD_PRIV int srd_inst_decode(const struct srd_decoder_inst *di,
                srd_dbg("empty buffer");
                return SRD_ERR_ARG;
        }
+       if (unitsize == 0) {
+               srd_dbg("unitsize 0");
+               return SRD_ERR_ARG;
+       }
 
        ((struct srd_decoder_inst *)di)->data_unitsize = unitsize;
 
@@ -608,6 +612,7 @@ SRD_PRIV void srd_inst_free(struct srd_decoder_inst *di)
        Py_DecRef(di->py_inst);
        g_free(di->inst_id);
        g_free(di->dec_channelmap);
+       g_free(di->channel_samples);
        g_slist_free(di->next_di);
        for (l = di->pd_output; l; l = l->next) {
                pdo = l->data;