From f5a0b8a5e24cede05e15ab696f0e15257a503525 Mon Sep 17 00:00:00 2001 From: Angelo Mantellini Date: Thu, 31 Jan 2019 18:20:48 +0100 Subject: [HICN24] Windows compatibility for hicn-light Change-Id: I8e19e52c9b4ec0fcbd7344c28765f5da1937569c Signed-off-by: Angelo Mantellini --- hicn-light/src/config/controlAddRoute.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'hicn-light/src/config/controlAddRoute.c') diff --git a/hicn-light/src/config/controlAddRoute.c b/hicn-light/src/config/controlAddRoute.c index c5ddab523..27aae4019 100644 --- a/hicn-light/src/config/controlAddRoute.c +++ b/hicn-light/src/config/controlAddRoute.c @@ -20,7 +20,6 @@ #include #include #include -#include #include @@ -97,7 +96,7 @@ static CommandReturn _controlAddRoute_Execute(CommandParser *parser, } const char *prefixStr = parcList_GetAtIndex(args, 3); - char addr[strlen(prefixStr) + 1]; + char *addr = (char *)malloc((strlen(prefixStr) + 1) * sizeof(char)); // separate address and len char *slash; @@ -111,6 +110,7 @@ static CommandReturn _controlAddRoute_Execute(CommandParser *parser, if (len == 0) { printf("ERROR: a prefix can not be of length 0\n"); + free(addr); return CommandReturn_Failure; } @@ -123,6 +123,7 @@ static CommandReturn _controlAddRoute_Execute(CommandParser *parser, if (len > 32) { printf("ERROR: exceeded INET mask length, max=32\n"); parcMemory_Deallocate(&addRouteCommand); + free(addr); return CommandReturn_Failure; } addRouteCommand->addressType = ADDR_INET; @@ -130,15 +131,19 @@ static CommandReturn _controlAddRoute_Execute(CommandParser *parser, if (len > 128) { printf("ERROR: exceeded INET6 mask length, max=128\n"); parcMemory_Deallocate(&addRouteCommand); + free(addr); return CommandReturn_Failure; } addRouteCommand->addressType = ADDR_INET6; } else { printf("Error: %s is not a valid network address \n", addr); parcMemory_Deallocate(&addRouteCommand); + free(addr); return CommandReturn_Failure; } + free(addr); + // Fill remaining payload fields addRouteCommand->len = len; addRouteCommand->cost = (uint16_t)cost; -- cgit 1.2.3-korg