Ver Fonte

Fix potential fd leak in transer.mod dcc sending

Reported by:	cppcheck
Bryan Drewery há 12 anos atrás
pai
commit
56861a9147
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      src/mod/transfer.mod/transfer.c

+ 2 - 2
src/mod/transfer.mod/transfer.c

@@ -851,11 +851,11 @@ static int raw_dcc_resend_send(char *filename, char *nick, char *from, int resen
   if (zz == (-1))
   if (zz == (-1))
     return DCCSEND_NOSOCK;
     return DCCSEND_NOSOCK;
   
   
+  if ((i = new_dcc(&DCC_GET_PENDING, sizeof(struct xfer_info))) == -1)
+     return DCCSEND_FULL;
   f = fopen(filename, "rb");
   f = fopen(filename, "rb");
   if (!f)
   if (!f)
     return DCCSEND_BADFN;
     return DCCSEND_BADFN;
-  if ((i = new_dcc(&DCC_GET_PENDING, sizeof(struct xfer_info))) == -1)
-     return DCCSEND_FULL;
   dcc[i].sock = zz;
   dcc[i].sock = zz;
   dcc[i].addr = (in_addr_t) (-559026163);
   dcc[i].addr = (in_addr_t) (-559026163);
   dcc[i].port = port;
   dcc[i].port = port;