oocd_trace: fix warnings 90/1490/3
authorPaul Fertser <fercerpav@gmail.com>
Mon, 8 Jul 2013 06:10:19 +0000 (10:10 +0400)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 15 Jul 2013 09:54:44 +0000 (09:54 +0000)
gcc (Gentoo Hardened 4.6.3 p1.13) produces a warning about the variable
assigned but not used. write() can sometimes write less than the specified
count so it's marked with warn_unused_result in the system headers and its
return value can't be ignored. The most correct solution would be to have a
loop writing the buffer until all bytes are written or an error is
returned but here it's impractical.

Change-Id: I75f7482e2b26fe0e6d70d34947518d3a8f0afe5c
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/1490
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/oocd_trace.c

index 2969cc1e112e92fefa2258a20f1efa1e92c3f81c..e723efe046a0d7ba50dce65fc90f21c7365f5cdf 100644 (file)
@@ -38,6 +38,8 @@ static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t
 
        cmd = 0x10 | (reg & 0x7);
        bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
+       if (bytes_written < 1)
+               return ERROR_FAIL;
 
        bytes_to_read = 4;
        while (bytes_to_read > 0) {
@@ -62,6 +64,9 @@ static int oocd_trace_write_reg(struct oocd_trace *oocd_trace, int reg, uint32_t
        data[4] = (value & 0xff000000) >> 24;
 
        bytes_written = write(oocd_trace->tty_fd, data, 5);
+       if (bytes_written < 5)
+               return ERROR_FAIL;
+
        LOG_DEBUG("reg #%i: 0x%8.8x", reg, value);
 
        return ERROR_OK;
@@ -78,6 +83,8 @@ static int oocd_trace_read_memory(struct oocd_trace *oocd_trace, uint8_t *data,
 
        cmd = 0x20;
        bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
+       if (bytes_written < 1)
+               return ERROR_FAIL;
 
        bytes_to_read = size * 16;
        while (bytes_to_read > 0) {
@@ -358,6 +365,8 @@ COMMAND_HANDLER(handle_oocd_trace_resync_command)
        cmd_array[0] = 0xf0;
 
        bytes_written = write(oocd_trace->tty_fd, cmd_array, 1);
+       if (bytes_written < 1)
+               return ERROR_FAIL;
 
        command_print(CMD_CTX, "requesting traceclock resync");
        LOG_DEBUG("resyncing traceclk pll");

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)