diff --git a/tree/src/tree.c b/tree/src/tree.c
index 50d3c1edfd91609586dea824f2b4fff683eb6aeb..d19e8868111aa93dd0ccb85abfad81672536937a 100644
--- a/tree/src/tree.c
+++ b/tree/src/tree.c
@@ -98,6 +98,10 @@ void node_insert(Node* node, int age, char* name) {
 void tree_insert(Tree* tree, int age, char* name) {
     if (tree->root == NULL) {
         Node *node = malloc(sizeof(Node));
+        if (node == NULL) {
+                perror("Failed to allocate memory for new node");
+                exit(EXIT_FAILURE);
+            }
         node->name = name;
         node->left = NULL;
         node->right = NULL;