diff --git a/src/wifi/wifi_hal.c b/src/wifi/wifi_hal.c
index 3ca99b9..b239e98 100644
--- a/src/wifi/wifi_hal.c
+++ b/src/wifi/wifi_hal.c
@@ -11465,12 +11465,14 @@
     int maxNumberColors = 64;
     BOOL color_is_aval = FALSE;
 
-    color_list = calloc(maxNumberColors, sizeof(UCHAR));
-    if (wifi_getAvailableBSSColor(radio_index, maxNumberColors, color_list, &color_num) != RETURN_OK)
+    if (color > 63)
         return RETURN_ERR;
 
-    if (color > 63)
+    color_list = calloc(maxNumberColors, sizeof(UCHAR));
+    if (wifi_getAvailableBSSColor(radio_index, maxNumberColors, color_list, &color_num) != RETURN_OK) {
+        free(color_list);
         return RETURN_ERR;
+    }
 
     for (int i = 0; i < color_num; i++) {
         if (color_list[i] == color) {
@@ -11479,6 +11481,7 @@
         }
     }
     if (color_is_aval == FALSE) {
+        free(color_list);
         fprintf(stderr, "%s: color %hhu is not avaliable.\n", __func__, color);
         return RETURN_ERR;
     }
@@ -11491,6 +11494,7 @@
     wifi_hostapdProcessUpdate(radio_index, &params, 1);
     wifi_reloadAp(radio_index);
 
+    free(color_list);
     WIFI_ENTRY_EXIT_DEBUG("Exiting %s:%d\n",__func__, __LINE__);
     return RETURN_OK;
 }
