slirp: remove unused EMU_RSH
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Sat, 10 Nov 2018 13:45:40 +0000 (17:45 +0400)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 13 Jan 2019 23:40:54 +0000 (00:40 +0100)
EMU_RSH handling was dropped in commit
0d62c4cfe21752df4c1d6e2c2398f15d5eaa794a.

The assignment, and subsequent free() of ex_ptr->ex_exec to so->extra
looks unsafe (double free is likely to occur).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
slirp/misc.h
slirp/slirp.c
slirp/socket.c
slirp/tcp_subr.c

index 64ca88c3b71f1c2448e6eff0534974aaf5496563..94829722cd01ed25e9afb2c4ed14cbe9aa715655 100644 (file)
@@ -26,7 +26,6 @@ struct ex_list {
 #define EMU_REALAUDIO 0x5
 #define EMU_RLOGIN 0x6
 #define EMU_IDENT 0x7
-#define EMU_RSH 0x8
 
 #define EMU_NOCONNECT 0x10     /* Don't connect */
 
index 0de46084c09a480d79d0b123d258fb2c9c5af49e..fac7849195c0485a5af91d910ebeaa14f1c76399 100644 (file)
@@ -1499,8 +1499,6 @@ static int slirp_state_load(QEMUFile *f, void *opaque, int version_id)
         }
         if (!ex_ptr)
             return -EINVAL;
-
-        so->extra = (void *)ex_ptr->ex_exec;
     }
 
     return vmstate_load_state(f, &vmstate_slirp, slirp, version_id);
index c01d8696afb64b87ccc6b2f4f2ba5062be20921f..041ec5061a10247c17c46a7b9b9d809ca2f8f0a8 100644 (file)
@@ -89,10 +89,6 @@ sofree(struct socket *so)
   soqfree(so, &slirp->if_fastq);
   soqfree(so, &slirp->if_batchq);
 
-  if (so->so_emu==EMU_RSH && so->extra) {
-       sofree(so->extra);
-       so->extra=NULL;
-  }
   if (so == slirp->tcp_last_so) {
       slirp->tcp_last_so = &slirp->tcb;
   } else if (so == slirp->udp_last_so) {
index e7b2baa087c0b59372d0bc5bf23736a9f7292b3a..fd7521854ef60182897a9b1e553f38210b797ad9 100644 (file)
@@ -541,7 +541,6 @@ static const struct tos_t tcptos[] = {
          {0, 23, IPTOS_LOWDELAY, 0},   /* telnet */
          {0, 80, IPTOS_THROUGHPUT, 0}, /* WWW */
          {0, 513, IPTOS_LOWDELAY, EMU_RLOGIN|EMU_NOCONNECT},   /* rlogin */
-         {0, 514, IPTOS_LOWDELAY, EMU_RSH|EMU_NOCONNECT},      /* shell */
          {0, 544, IPTOS_LOWDELAY, EMU_KSH},            /* kshell */
          {0, 543, IPTOS_LOWDELAY, 0},  /* klogin */
          {0, 6667, IPTOS_THROUGHPUT, EMU_IRC}, /* IRC */