goto err;
}
- pdb = g_malloc(sizeof(struct srd_proto_data_binary));
if (PyBytes_AsStringAndSize(py_tmp, &buf, &size) == -1)
goto err;
PyGILState_Release(gstate);
+ pdb = g_malloc(sizeof(struct srd_proto_data_binary));
pdb->bin_class = bin_class;
pdb->size = size;
- if (!(pdb->data = g_try_malloc(pdb->size)))
+ if (!(pdb->data = g_try_malloc(pdb->size))) {
+ g_free(pdb);
return SRD_ERR_MALLOC;
+ }
memcpy((void *)pdb->data, (const void *)buf, pdb->size);
pdata->data = pdb;
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;
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++) {
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);
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;
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;
* while the termination request still gets signalled.
*/
found_match = FALSE;
- ret = process_samples_until_condition_match(di, &found_match);
+
+ /* Ignore return value for now, should never be negative. */
+ (void)process_samples_until_condition_match(di, &found_match);
Py_END_ALLOW_THREADS