diff --git a/groundStation/src/cli/cli.c b/groundStation/src/cli/cli.c
index ebde95590a1250cb280f6e8329a81d465d8ecd65..070c972e1261d5558cf310ae430ca9fa786610a0 100644
--- a/groundStation/src/cli/cli.c
+++ b/groundStation/src/cli/cli.c
@@ -155,7 +155,7 @@ int isNumber(char *number) {
 int convert_to_id(struct backend_conn * conn, char **argv, struct convert_data * convert_data, int conversion_requirement) {
 	/* variables used to search for id values */
 	size_t num_nodes = 0, i;
-	struct frontend_node_data* search_data;
+	struct frontend_node_data* search_data = NULL;
 	int search_1 = 0, search_2 = 0;
 	const struct graph_node_type * node_definition;
 
@@ -177,8 +177,10 @@ int convert_to_id(struct backend_conn * conn, char **argv, struct convert_data *
 		return 0;
 	}
 
-	search_data = malloc(sizeof((*search_data)) * num_nodes);
-
+	/**
+	 * node_data must be NULL,
+	 * num_nodes must equal zero.
+	 */
 	if (frontend_getnodes(conn, &search_data, &num_nodes)) {
 		return 1;
 	}
@@ -229,9 +231,6 @@ int convert_to_id(struct backend_conn * conn, char **argv, struct convert_data *
 			}
 		}
 	}
-	for(i = 0; i < num_nodes; ++i) {
-		free(search_data[i].name);
-	}
-	free(search_data);
+	frontend_free_nodedata(search_data, num_nodes);
 	return search_2;
 }
\ No newline at end of file
diff --git a/groundStation/src/cli/cli_nodes.c b/groundStation/src/cli/cli_nodes.c
index 281ee6fb60dfd66b29c60515748a7fc6c908a344..412cff2b0201f14031f43218dece5e3dda4c9ac3 100644
--- a/groundStation/src/cli/cli_nodes.c
+++ b/groundStation/src/cli/cli_nodes.c
@@ -11,7 +11,7 @@
 
 int cli_getnodes(struct backend_conn * conn, int argc, char ** argv) {
 	size_t num_nodes = 0;
-	struct frontend_node_data * node_data;
+	struct frontend_node_data * node_data = NULL;
 
 	int needHelp = 0;
 	
@@ -30,8 +30,10 @@ int cli_getnodes(struct backend_conn * conn, int argc, char ** argv) {
 		return 1;
 	}
 
-	node_data = malloc(sizeof(*node_data));
-
+	/**
+	 * node_data must be NULL,
+	 * num_nodes must equal zero.
+	 */
 	if (frontend_getnodes(conn, &node_data, &num_nodes)) {
 		free(node_data);
 		return 1;
@@ -66,12 +68,9 @@ int cli_getnodes(struct backend_conn * conn, int argc, char ** argv) {
 			printf(" %s ", node_definition->output_names[n]);
 		}
 		printf("}\n");
-
-
-		free(node_data[i].name);
 	}
 
-	free(node_data);
+	frontend_free_nodedata(node_data, num_nodes);	
 	return 0;
 }