diff --git a/qemu-config.c b/qemu-config.c
index 78e5c67..acd4db7 100644
--- a/qemu-config.c
+++ b/qemu-config.c
@@ -475,6 +475,10 @@ int qemu_config_parse(FILE *fp, const char *fname)
         qemu_error("parse error");
         goto out;
     }
+    if (ferror(fp)) {
+        qemu_error("error reading file");
+        goto out;
+    }
     res = 0;
 out:
     loc_pop(&loc);
