X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=type_decoder.c;h=a61a475f29cfeef981d5cae1f5aacc36938c0117;hp=aa92c3b22490d9e68813661bbd80c7e7575e89e2;hb=35c10c0e24881de50b3391b1f3ecc9e43aa361b3;hpb=287e2788a726732e5f29eb3f5f4fe9d68fac4d05 diff --git a/type_decoder.c b/type_decoder.c index aa92c3b..a61a475 100644 --- a/type_decoder.c +++ b/type_decoder.c @@ -369,17 +369,11 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args) break; } - if (py_data) - Py_DECREF(py_data); - PyGILState_Release(gstate); Py_RETURN_NONE; err: - if (py_data) - Py_DECREF(py_data); - PyGILState_Release(gstate); return NULL; @@ -524,14 +518,13 @@ static PyObject *get_current_pinvalues(const struct srd_decoder_inst *di) PyObject *py_pinvalues; PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - if (!di) { srd_err("Invalid decoder instance."); - PyGILState_Release(gstate); return NULL; } + gstate = PyGILState_Ensure(); + py_pinvalues = PyTuple_New(di->dec_num_channels); for (i = 0; i < di->dec_num_channels; i++) { @@ -592,7 +585,7 @@ static int create_term_list(PyObject *py_dict, GSList **term_list) srd_err("Failed to get the value."); goto err; } - term = g_malloc0(sizeof(struct srd_term)); + term = g_malloc(sizeof(struct srd_term)); term->type = get_term_type(term_str); term->channel = PyLong_AsLong(py_key); g_free(term_str); @@ -603,7 +596,7 @@ static int create_term_list(PyObject *py_dict, GSList **term_list) srd_err("Failed to get number of samples to skip."); goto err; } - term = g_malloc0(sizeof(struct srd_term)); + term = g_malloc(sizeof(struct srd_term)); term->type = SRD_TERM_SKIP; term->num_samples_to_skip = num_samples_to_skip; term->num_samples_already_skipped = 0; @@ -766,7 +759,7 @@ static int set_skip_condition(struct srd_decoder_inst *di, uint64_t count) GSList *term_list; condition_list_free(di); - term = g_malloc0(sizeof(*term)); + term = g_malloc(sizeof(*term)); term->type = SRD_TERM_SKIP; term->num_samples_to_skip = count; term->num_samples_already_skipped = 0;