X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Ffluke-dmm%2Ffluke.c;h=5b5a1151c20773f032e4b0dd1b20213bf5a31e80;hb=8421ffa44dc9b0ca89c554c40be39dcc151e7495;hp=0d11a7c3b240e8e0cf9a2159edaec591ba696541;hpb=11fb7110f46a76a4b078896f0e6c9396bf828189;p=libsigrok.git diff --git a/hardware/fluke-dmm/fluke.c b/hardware/fluke-dmm/fluke.c index 0d11a7c3..5b5a1151 100644 --- a/hardware/fluke-dmm/fluke.c +++ b/hardware/fluke-dmm/fluke.c @@ -55,11 +55,12 @@ static struct sr_datafeed_analog *handle_qm_18x(const struct sr_dev_inst *sdi, while(*e && *e == ' ') e++; - /* TODO: Check malloc return value. */ - analog = g_try_malloc0(sizeof(struct sr_datafeed_analog)); + if (!(analog = g_try_malloc0(sizeof(struct sr_datafeed_analog)))) + return NULL; + if (!(analog->data = g_try_malloc(sizeof(float)))) + return NULL; + analog->probes = sdi->probes; analog->num_samples = 1; - /* TODO: Check malloc return value. */ - analog->data = g_try_malloc(sizeof(float)); if (is_oor) *analog->data = NAN; else @@ -169,11 +170,12 @@ static struct sr_datafeed_analog *handle_qm_28x(const struct sr_dev_inst *sdi, return NULL; } - /* TODO: Check malloc return value. */ - analog = g_try_malloc0(sizeof(struct sr_datafeed_analog)); + if (!(analog = g_try_malloc0(sizeof(struct sr_datafeed_analog)))) + return NULL; + if (!(analog->data = g_try_malloc(sizeof(float)))) + return NULL; + analog->probes = sdi->probes; analog->num_samples = 1; - /* TODO: Check malloc return value. */ - analog->data = g_try_malloc(sizeof(float)); *analog->data = fvalue; analog->mq = -1; @@ -396,6 +398,7 @@ static void handle_qm_19x_data(const struct sr_dev_inst *sdi, char **tokens) fvalue = 1.0; } + analog.probes = sdi->probes; analog.num_samples = 1; analog.data = &fvalue; analog.mq = devc->mq; @@ -509,7 +512,7 @@ SR_PRIV int fluke_receive_data(int fd, int revents, void *cb_data) } } - if (devc->num_samples >= devc->limit_samples) { + if (devc->limit_samples && devc->num_samples >= devc->limit_samples) { sdi->driver->dev_acquisition_stop(sdi, cb_data); return TRUE; }