Преглед изворни кода

cov 10379 &10380: check result of open before calling ftruncate.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2823 fd59a12c-fef9-0310-b244-a6a79926bd2f
Angus Salkeld пре 15 година
родитељ
комит
3ebd6fab52
1 измењених фајлова са 6 додато и 4 уклоњено
  1. 6 4
      exec/coroipcs.c

+ 6 - 4
exec/coroipcs.c

@@ -263,8 +263,9 @@ memory_map (
 
 	unlink (path);
 
-	res = ftruncate (fd, bytes);
-
+	if (fd >= 0) {
+		res = ftruncate (fd, bytes);
+	}
 	addr_orig = mmap (NULL, bytes, PROT_NONE,
 		MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 
@@ -305,8 +306,9 @@ circular_memory_map (
 
 	unlink (path);
 
-	res = ftruncate (fd, bytes);
-
+	if (fd >= 0) {
+		res = ftruncate (fd, bytes);
+	}
 	addr_orig = mmap (NULL, bytes << 1, PROT_NONE,
 		MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);