]> jfr.im git - irc/quakenet/newserv.git/blobdiff - nterfacer/nterfacer.c
BUILD: add require-all build mode
[irc/quakenet/newserv.git] / nterfacer / nterfacer.c
index 33c0de7b68dc99160f4a39daa009351137bde0f9..45a754885b3304052d68e63542496bcf7b1a7956 100644 (file)
@@ -17,6 +17,7 @@
 #include <strings.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
+#include <stdint.h>
 
 #include "../lib/sstring.h"
 #include "../lib/irc_string.h"
@@ -251,6 +252,7 @@ int setup_listening_socket(void) {
   
   if(bind(fd, (struct sockaddr *) &sin, sizeof(sin))) {
     nterface_log(nrl, NL_ERROR, "Unable to bind listen socket (%d).", errno);
+    close(fd);
     return -1;
   }
   
@@ -258,6 +260,7 @@ int setup_listening_socket(void) {
   
   if(ioctl(fd, FIONBIO, &opt)) {
     nterface_log(nrl, NL_ERROR, "Unable to set listen socket non-blocking.");
+    close(fd);
     return -1;
   }
   
@@ -359,6 +362,7 @@ void nterfacer_accept_event(struct esocket *socket) {
 
   if(ioctl(newfd, FIONBIO, &opt)) {
     nterface_log(nrl, NL_ERROR, "Unable to set accepted socket non-blocking.");
+    close(newfd);
     return;
   }
   
@@ -553,13 +557,13 @@ int nterfacer_new_rline(char *line, struct esocket *socket, int *number) {
     if(*p == ',')
       break;
 
-  if(!*p || !(p + 1))
+  if(!*p || !*(p + 1))
     return RE_BAD_LINE;
   
   *p = '\0';
   *number = positive_atoi(sp + 1);
   
-  if((*number < 1) || (*number > 0xffff))
+  if((*number < 1) || (*number > INT32_MAX))
     return RE_BAD_LINE;
 
   if (!service) {