]> sigrok.org Git - libsigrok.git/commitdiff
beaglelogic: fixup use of uninitialized data in TCP routines
authorGerhard Sittig <redacted>
Thu, 8 Feb 2018 21:31:48 +0000 (22:31 +0100)
committerUwe Hermann <redacted>
Fri, 9 Feb 2018 20:34:17 +0000 (21:34 +0100)
Make sure that failure to communicate via TCP results in access to
uninitialized data.

This was reported by clang's scan-build.

src/hardware/beaglelogic/beaglelogic_tcp.c

index 24355240ceb89569ddd2749e55110c5da77aa4c7..c236c949c9be939679864c311ea38726986f2374 100644 (file)
@@ -172,6 +172,7 @@ static int beaglelogic_tcp_get_string(struct dev_context *devc, const char *cmd,
        int len;
        gint64 timeout;
 
+       *tcp_resp = NULL;
        if (cmd) {
                if (beaglelogic_tcp_send_cmd(devc, cmd) != SR_OK)
                        return SR_ERR;
@@ -288,9 +289,11 @@ static int beaglelogic_get_samplerate(struct dev_context *devc)
        int arg, err;
 
        err = beaglelogic_tcp_get_int(devc, "samplerate", &arg);
-       devc->cur_samplerate = arg;
+       if (err)
+               return err;
 
-       return err;
+       devc->cur_samplerate = arg;
+       return SR_OK;
 }
 
 static int beaglelogic_set_samplerate(struct dev_context *devc)