server: avoid the tcl server crashing when there is no target 59/2759/4
authorAustin Morton <austinpmorton@gmail.com>
Sat, 2 May 2015 22:00:37 +0000 (18:00 -0400)
committerPaul Fertser <fercerpav@gmail.com>
Sun, 17 May 2015 20:17:02 +0000 (21:17 +0100)
Since commit 1d0cf0df37a4e831ca3121ba8987d5848cad3e42
("server: tcl_notifications command") connecting to the tcl server
would terminate openocd. Fix this.

Change-Id: I36e2a7482f7db3a30ff7e9f969c3b6cda9599382
Signed-off-by: Austin Morton <austinpmorton@gmail.com>
Reviewed-on: http://openocd.zylin.com/2759
Tested-by: jenkins
Reviewed-by: Forest Crossman <cyrozap@gmail.com>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
src/server/tcl_server.c
src/target/target.c
src/target/target.h

index d6828f12aab7da54076666ffb38d43cfad1d6d6f..65f71cc988f19f64c652b227bf0bb8c9b41e461d 100644 (file)
@@ -123,7 +123,7 @@ static int tcl_new_connection(struct connection *connection)
        memset(tclc, 0, sizeof(struct tcl_connection));
        connection->priv = tclc;
 
-       struct target *target = get_current_target(connection->cmd_ctx);
+       struct target *target = get_target_by_num(connection->cmd_ctx->current_target);
        if (target != NULL)
                tclc->tc_laststate = target->state;
 
index 27f8839fb4ec6b83abf1e00c83c279c693b81640..4ea445fe931b3f8d16ec019be3b38626b7f9423d 100644 (file)
@@ -486,7 +486,7 @@ struct target *get_target(const char *id)
 }
 
 /* returns a pointer to the n-th configured target */
-static struct target *get_target_by_num(int num)
+struct target *get_target_by_num(int num)
 {
        struct target *target = all_targets;
 
index 9382720b9693ef880fc04d9f1c415eb3e40a237b..7471c1b330657b27e6e7313a9277f0ef344a8274 100644 (file)
@@ -356,6 +356,7 @@ int target_call_timer_callbacks(void);
  */
 int target_call_timer_callbacks_now(void);
 
+struct target *get_target_by_num(int num);
 struct target *get_current_target(struct command_context *cmd_ctx);
 struct target *get_target(const char *id);
 

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)