chiark / gitweb /
do not crash on disposal of sock and tuntap
[chiark-tcl.git] / tuntap / tuntap.c
index f45b3c9b1419a116192684faee3064498035ebbc..60a8cdcdeae0f8261da14e0e509063cd0d8101ff 100644 (file)
@@ -130,7 +130,7 @@ int do_tuntap_socket_raw_on_transmit(ClientData cd, Tcl_Interp *ip,
   cancel(sock);
   
   if (newscript) {
-    rc= scriptinv_set(&sock->script,ip,newscript);
+    rc= scriptinv_set(&sock->script,ip,newscript,0);
     if (rc) return rc;
     
     sock->mtu= mtu;
@@ -153,8 +153,8 @@ static void destroy_idtabcb(Tcl_Interp *ip, void *sock_v) {
 }
 
 int do_tuntap_socket_raw_close(ClientData cd, Tcl_Interp *ip, void *sock) {
-  destroy(sock);
   tabledataid_disposing(ip,sock,&tuntap_socks);
+  destroy(sock);
   return TCL_OK;
 }