浏览代码

don't close uninitialized fd

Thomas Guillem 9 年之前
父节点
当前提交
6526212e54
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 2 1
      src/netbios_ns.c
  2. 3 1
      src/netbios_session.c

+ 2 - 1
src/netbios_ns.c

@@ -623,7 +623,8 @@ void          netbios_ns_destroy(netbios_ns *ns)
 
 
     netbios_ns_entry_clear(ns);
     netbios_ns_entry_clear(ns);
 
 
-    close(ns->socket);
+    if (ns->socket != -1)
+        close(ns->socket);
 
 
     ns_close_abort_pipe(ns);
     ns_close_abort_pipe(ns);
 
 

+ 3 - 1
src/netbios_session.c

@@ -98,6 +98,7 @@ netbios_session *netbios_session_new(size_t buf_size)
         free(session);
         free(session);
         return NULL;
         return NULL;
     }
     }
+    session->socket = -1;
 
 
     return session;
     return session;
 }
 }
@@ -106,7 +107,8 @@ void              netbios_session_destroy(netbios_session *s)
 {
 {
     if (!s)
     if (!s)
         return;
         return;
-    close(s->socket);
+    if (s->socket != -1)
+        close(s->socket);
 
 
     free(s->packet);
     free(s->packet);
     free(s);
     free(s);