Fixed errors in address generation
authorFelix Morgner <felix.morgner@gmail.com>
Tue, 29 Apr 2014 05:39:44 +0000 (07:39 +0200)
committerFelix Morgner <felix.morgner@gmail.com>
Tue, 29 Apr 2014 05:39:44 +0000 (07:39 +0200)
src/conf.c
src/server.c

index a93031fab2492ff11f6fe2e2482e63cebd2723d0..d716312e444b90615e0be9a1b59efc92f9c0f6fe 100644 (file)
@@ -144,23 +144,23 @@ const char *getStrConf(param_t param)
        case BINDADDR:
                setting = config_lookup(&configuration, "bindaddr");
                if (!setting)
-                       return "";
+                       return NULL;
                else {
                        if ((strsetting = config_setting_get_string(setting)) != NULL)
                                return strsetting;
                        else
-                               return "";
+                               return NULL;
                }
                break;
        case BINDADDR6:
                setting = config_lookup(&configuration, "bindaddr6");
                if (!setting)
-                       return "";
+                       return NULL;
                else {
                        if ((strsetting = config_setting_get_string(setting)) != NULL)
                                return strsetting;
                        else
-                               return "";
+                               return NULL;
                }
                break;
        case WELCOMETEXT:
index 827b99b4f3b47050f4b0c068fcadb88f006fecb1..5394b09dd545e05ad795c59fbf43f3f19684c303 100644 (file)
@@ -64,7 +64,7 @@ extern int bindport6;
 
 struct sockaddr_storage** Server_setupAddressesAndPorts()
 {
-  struct sockaddr_storage** addresses;
+  struct sockaddr_storage** addresses = malloc(2 * sizeof(void*));
 
   struct sockaddr_storage* v4address = calloc(1, sizeof(struct sockaddr_storage));
   v4address->ss_family = AF_INET;
@@ -79,7 +79,7 @@ struct sockaddr_storage** Server_setupAddressesAndPorts()
                                          : bindaddr, &(((struct sockaddr_in*)v4address)->sin_addr));
   if (error == 0) Log_fatal("Invalid IPv4 address supplied!");
 
-  error = inet_pton(AF_INET, (!bindaddr6) ? ((getStrConf(BINDADDR6)) ? getStrConf(BINDADDR6) : "::")
+  error = inet_pton(AF_INET6, (!bindaddr6) ? ((getStrConf(BINDADDR6)) ? getStrConf(BINDADDR6) : "::")
                                          : bindaddr6, &(((struct sockaddr_in6*)v6address)->sin6_addr));
   if (error == 0) Log_fatal("Invalid IPv6 address supplied!");