diff --git a/cgroup.c b/cgroup.c
index c2b0b1707b97ed3446b85edce0210ab68750b026..4ed8872250adde02a34879afa7d23c0247d1ffb9 100644
--- a/cgroup.c
+++ b/cgroup.c
@@ -133,9 +133,9 @@ cgroup_get_mem_limit(const char *chier, const char *cgroup)
 		return -1;
 	}
 	size_t nlimit = 0;
-	fscanf(limit, "%zu", &nlimit);
+	int ok = fscanf(limit, "%zu", &nlimit);
 	fclose(limit);
-	return nlimit;
+	return ok ? nlimit : 0;
 }
 
 static int
@@ -198,7 +198,7 @@ cgroup_get_mem_usage(const char *chier, const char *cgroup)
 		return -1;
 	}
 	size_t nusage = 0;
-	fscanf(usage, "%zu", &nusage);
+	int ok = fscanf(usage, "%zu", &nusage);
 	fclose(usage);
-	return nusage;
+	return ok ? nusage : 0;
 }