summaryrefslogtreecommitdiffstats
path: root/lib/vty.c
diff options
context:
space:
mode:
authorLou Berger <lberger@labn.net>2017-05-15 16:34:38 +0200
committerGitHub <noreply@github.com>2017-05-15 16:34:38 +0200
commit4b34151b88cf4de40b4b070522e378bed895dcb1 (patch)
treeb6dc0fe32a932f1ac9397cc5c1a28e224dc8489a /lib/vty.c
parentdoc: fix VARIABLE <> WORD confusion in cli.md (diff)
parentlib: fix access to stack value (diff)
downloadfrr-4b34151b88cf4de40b4b070522e378bed895dcb1.tar.xz
frr-4b34151b88cf4de40b4b070522e378bed895dcb1.zip
Merge pull request #531 from qlyoung/fix-stack-ref
lib: fix access to stack value
Diffstat (limited to 'lib/vty.c')
-rw-r--r--lib/vty.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/vty.c b/lib/vty.c
index 83dc0106f..e490d30a8 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2633,20 +2633,18 @@ static struct thread_master *vty_master;
static void
vty_event (enum event event, int sock, struct vty *vty)
{
- struct thread *vty_serv_thread;
-
switch (event)
{
case VTY_SERV:
- vty_serv_thread = NULL;
- thread_add_read(vty_master, vty_accept, vty, sock, &vty_serv_thread);
- vector_set_index (Vvty_serv_thread, sock, vty_serv_thread);
+ vector_set_index (Vvty_serv_thread, sock, NULL);
+ thread_add_read(vty_master, vty_accept, vty, sock,
+ (struct thread **) &Vvty_serv_thread->index[sock]);
break;
#ifdef VTYSH
case VTYSH_SERV:
- vty_serv_thread = NULL;
- thread_add_read(vty_master, vtysh_accept, vty, sock, &vty_serv_thread);
- vector_set_index (Vvty_serv_thread, sock, vty_serv_thread);
+ vector_set_index (Vvty_serv_thread, sock, NULL);
+ thread_add_read(vty_master, vtysh_accept, vty, sock,
+ (struct thread **) &Vvty_serv_thread->index[sock]);
break;
case VTYSH_READ:
vty->t_read = NULL;