diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/irmd/main.c | 18 | ||||
-rw-r--r-- | src/lib/bitmap.c | 9 | ||||
-rw-r--r-- | src/lib/dev.c | 20 | ||||
-rw-r--r-- | src/tools/echo/echo_client.c | 4 | ||||
-rw-r--r-- | src/tools/echo/echo_server.c | 8 |
5 files changed, 38 insertions, 21 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c index 75b8506e..a6403612 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -53,7 +53,7 @@ #endif #ifndef IRMD_THREADPOOL_SIZE - #define IRMD_THREADPOOL_SIZE 10 + #define IRMD_THREADPOOL_SIZE 3 #endif @@ -467,7 +467,7 @@ static int bootstrap_ipcp(instance_name_t * api, return -1; } - LOG_INFO("Bootstrapped IPCP %s-%d. in DIF %s", + LOG_INFO("Bootstrapped IPCP %s-%d in DIF %s.", api->name, api->id, conf->dif_name); return 0; @@ -1178,7 +1178,7 @@ static struct irm * irm_create() i->sockfd = server_socket_open(IRM_SOCK_PATH); if (i->sockfd < 0) { - irm_destroy(instance); + irm_destroy(i); return NULL; } @@ -1200,10 +1200,14 @@ int main() sig_act.sa_sigaction = &irmd_sig_handler; sig_act.sa_flags = SA_SIGINFO; - sigaction(SIGINT, &sig_act, NULL); - sigaction(SIGTERM, &sig_act, NULL); - sigaction(SIGHUP, &sig_act, NULL); - sigaction(SIGPIPE, &sig_act, NULL); + if (sigaction(SIGINT, &sig_act, NULL) < 0) + exit(1); + if (sigaction(SIGTERM, &sig_act, NULL) < 0) + exit(1); + if (sigaction(SIGHUP, &sig_act, NULL) < 0) + exit(1); + if (sigaction(SIGPIPE, &sig_act, NULL) < 0) + exit(1); instance = irm_create(); if (instance == NULL) diff --git a/src/lib/bitmap.c b/src/lib/bitmap.c index 0e3c968f..e84145b2 100644 --- a/src/lib/bitmap.c +++ b/src/lib/bitmap.c @@ -112,7 +112,7 @@ struct bmp * bmp_create(size_t bits, ssize_t offset) return NULL; tmp->bitmap = malloc(BITS_TO_LONGS(bits) * sizeof(unsigned long)); - if (!tmp->bitmap) { + if (tmp->bitmap == NULL) { free(tmp); return NULL; } @@ -142,6 +142,9 @@ int bmp_destroy(struct bmp * b) static ssize_t bad_id(struct bmp * b) { + if (b == NULL) + return -1; + return b->offset - 1; } @@ -177,7 +180,7 @@ static bool is_id_valid(struct bmp * b, bool bmp_is_id_valid(struct bmp * b, ssize_t id) { - if (!b) + if (b == NULL) return false; return is_id_valid(b, id); @@ -188,7 +191,7 @@ int bmp_release(struct bmp * b, { ssize_t rid; - if (!b) + if (b == NULL) return -1; if (!is_id_valid(b, id)) diff --git a/src/lib/dev.c b/src/lib/dev.c index 40bf2dc3..c99e8cdb 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -249,12 +249,26 @@ int flow_accept(int fd, return -1; } + *ap_name = strdup(recv_msg->ap_name); + if (*ap_name == NULL) { + bmp_release(_ap_instance->fds, cfd); + irm_msg__free_unpacked(recv_msg, NULL); + return -1; + } + + if (ae_name != NULL) { + *ae_name = strdup(recv_msg->ae_name); + if (*ae_name == NULL) { + bmp_release(_ap_instance->fds, cfd); + irm_msg__free_unpacked(recv_msg, NULL); + return -1; + } + } + _ap_instance->flows[cfd].port_id = recv_msg->port_id; _ap_instance->flows[cfd].oflags = FLOW_O_DEFAULT; - *ap_name = strdup(recv_msg->ap_name); - if (ae_name != NULL) - *ae_name = strdup(recv_msg->ae_name); + irm_msg__free_unpacked(recv_msg, NULL); diff --git a/src/tools/echo/echo_client.c b/src/tools/echo/echo_client.c index 36942028..9cf56cee 100644 --- a/src/tools/echo/echo_client.c +++ b/src/tools/echo/echo_client.c @@ -33,8 +33,10 @@ int client_main() char * message = "Client says hi!"; ssize_t count = 0; - if(ap_init(CLIENT_AP_NAME)) + if(ap_init(CLIENT_AP_NAME)) { + printf("Failed to init AP."); return -1; + } fd = flow_alloc(SERVER_AP_NAME, NULL, NULL); if (fd < 0) { diff --git a/src/tools/echo/echo_server.c b/src/tools/echo/echo_server.c index 4b1a17b1..d9af1c1f 100644 --- a/src/tools/echo/echo_server.c +++ b/src/tools/echo/echo_server.c @@ -20,8 +20,6 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ouroboros/config.h> - #include <stdbool.h> #include <signal.h> #include <unistd.h> @@ -29,11 +27,6 @@ #include <ouroboros/dev.h> -#ifdef OUROBOROS_CONFIG_DEBUG - #define OUROBOROS_PREFIX "echo-server" - #include <ouroboros/logs.h> -#endif - #define DIF_NAME "*" void shutdown_server(int signo) @@ -68,6 +61,7 @@ int server_main() } if(ap_init(SERVER_AP_NAME)) { + printf("Failed to init AP."); return -1; } |