jtag: simplify the calls to Jim_SetResultFormatted() 90/6190/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Sun, 25 Apr 2021 21:15:36 +0000 (23:15 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 1 May 2021 12:37:29 +0000 (13:37 +0100)
The documentation of Jim_SetResultFormatted() reports that the jim
objects passed as arguments would be freed if have zero refcount.

Remove the useless Jim_IncrRefCount()/Jim_DecrRefCount().
Remove the dangerous Jim_FreeNewObj() that should trigger a double
free(). Not tested due to lack of aice adapter.

While there, rename some CamelCase symbol.

Change-Id: Ic56704c83d6391c38f6b0efa6566784d453bc0fb
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/6190
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
src/jtag/aice/aice_transport.c
src/jtag/tcl.c

index ea710ad25d24da45748e394c6239c12e41377193..e3d431b2ec54c585cf78f3b8dfb64dbf0917c083 100644 (file)
@@ -255,9 +255,8 @@ static int jim_aice_arp_init_reset(Jim_Interp *interp, int argc, Jim_Obj * const
        e = aice_init_reset(context);
 
        if (e != ERROR_OK) {
-               Jim_Obj *eObj = Jim_NewIntObj(goi.interp, e);
-               Jim_SetResultFormatted(goi.interp, "error: %#s", eObj);
-               Jim_FreeNewObj(goi.interp, eObj);
+               Jim_Obj *obj = Jim_NewIntObj(goi.interp, e);
+               Jim_SetResultFormatted(goi.interp, "error: %#s", obj);
                return JIM_ERR;
        }
        return JIM_OK;
index 3e7333515463cc9b46a292180bda358414ba5167..8a52c0f18b2abd819f6b65dc2c76dda93b55cb31 100644 (file)
@@ -687,10 +687,8 @@ static int jim_jtag_arp_init(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
        struct command_context *context = current_command_context(interp);
        int e = jtag_init_inner(context);
        if (e != ERROR_OK) {
-               Jim_Obj *eObj = Jim_NewIntObj(goi.interp, e);
-               Jim_IncrRefCount(eObj);
-               Jim_SetResultFormatted(goi.interp, "error: %#s", eObj);
-               Jim_DecrRefCount(goi.interp, eObj);
+               Jim_Obj *obj = Jim_NewIntObj(goi.interp, e);
+               Jim_SetResultFormatted(goi.interp, "error: %#s", obj);
                return JIM_ERR;
        }
        return JIM_OK;
@@ -712,10 +710,8 @@ static int jim_jtag_arp_init_reset(Jim_Interp *interp, int argc, Jim_Obj *const
                e = swd_init_reset(context);
 
        if (e != ERROR_OK) {
-               Jim_Obj *eObj = Jim_NewIntObj(goi.interp, e);
-               Jim_IncrRefCount(eObj);
-               Jim_SetResultFormatted(goi.interp, "error: %#s", eObj);
-               Jim_DecrRefCount(goi.interp, eObj);
+               Jim_Obj *obj = Jim_NewIntObj(goi.interp, e);
+               Jim_SetResultFormatted(goi.interp, "error: %#s", obj);
                return JIM_ERR;
        }
        return JIM_OK;

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)