]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/asix-sigma/api.c
rigol-ds: fix use-after-free
[libsigrok.git] / src / hardware / asix-sigma / api.c
index f56bdd45bc2c4589a2bf560d5baa2c01653c5035..4fdafec955eb1cfb1b1ef4eb112a2192f63b1e22 100644 (file)
@@ -51,6 +51,7 @@ static const uint32_t devopts[] = {
        SR_CONF_CLOCK_EDGE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
        SR_CONF_TRIGGER_MATCH | SR_CONF_LIST,
        SR_CONF_CAPTURE_RATIO | SR_CONF_GET | SR_CONF_SET,
+       /* Consider SR_CONF_TRIGGER_PATTERN (SR_T_STRING, GET/SET) support. */
 };
 
 static const char *ext_clock_edges[] = {
@@ -119,7 +120,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        char conn_id[20];
        char serno_txt[16];
        char *end;
-       long serno_num, serno_pre;
+       unsigned long serno_num, serno_pre;
        enum asix_device_type dev_type;
        const char *dev_text;
        struct sr_dev_inst *sdi;
@@ -191,7 +192,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
                 * All ASIX logic analyzers have a serial number, which
                 * reads as a hex number, and tells the device type.
                 */
-               ret = sr_atol_base(serno_txt, &serno_num, &end, 16);
+               ret = sr_atoul_base(serno_txt, &serno_num, &end, 16);
                if (ret != SR_OK || !end || *end) {
                        sr_warn("Cannot interpret serial number %s.", serno_txt);
                        continue;