diff --git a/tools/graph2dot.c b/tools/graph2dot.c
index 964322d0800c169310f86a3a8397258805e108c2..5552b3400d812b8b0ce42429c123cb8c266b1ad2 100644
--- a/tools/graph2dot.c
+++ b/tools/graph2dot.c
@@ -157,9 +157,17 @@ int main(int argc, char **argv)
         struct line *line, *last_line, *first_line;
         char *p;
         last_line = first_line = av_malloc(sizeof(struct line));
+        if (!last_line) {
+            fprintf(stderr, "Memory allocation failure\n");
+            return 1;
+        }
 
         while (fgets(last_line->data, sizeof(last_line->data), infile)) {
             struct line *new_line = av_malloc(sizeof(struct line));
+            if (!new_line) {
+                fprintf(stderr, "Memory allocation failure\n");
+                return 1;
+            }
             count += strlen(last_line->data);
             last_line->next = new_line;
             last_line       = new_line;
@@ -167,6 +175,10 @@ int main(int argc, char **argv)
         last_line->next = NULL;
 
         graph_string = av_malloc(count + 1);
+        if (!graph_string) {
+            fprintf(stderr, "Memory allocation failure\n");
+            return 1;
+        }
         p = graph_string;
         for (line = first_line; line->next; line = line->next) {
             unsigned int l = strlen(line->data);