[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58905] trunk/blender/source/blender: more consistent use of checks of BLI_open(), check 'fd < 0' rather then -1 .

Campbell Barton ideasman42 at gmail.com
Sun Aug 4 19:30:47 CEST 2013


Revision: 58905
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58905
Author:   campbellbarton
Date:     2013-08-04 17:30:47 +0000 (Sun, 04 Aug 2013)
Log Message:
-----------
more consistent use of checks of BLI_open(), check 'fd < 0' rather then -1. packedfile incorrectly treated 0 as an error value. best not be vague/sloppy with this.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/blender.c
    trunk/blender/source/blender/blenkernel/intern/image.c
    trunk/blender/source/blender/blenkernel/intern/movieclip.c
    trunk/blender/source/blender/blenkernel/intern/packedFile.c
    trunk/blender/source/blender/blenloader/intern/runtime.c
    trunk/blender/source/blender/blenloader/intern/writefile.c

Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -816,7 +816,7 @@
 	 * to avoid writing to a symlink - use 'O_EXCL' (CVE-2008-1103) */
 	errno = 0;
 	file = BLI_open(filename, flag, 0666);
-	if (file == -1) {
+	if (file < 0) {
 		if (errno == EEXIST) {
 			errno = 0;
 			file = BLI_open(filename, flag & ~O_CREAT, 0666);

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenkernel/intern/image.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -597,7 +597,8 @@
 
 	/* exists? */
 	file = BLI_open(str, O_BINARY | O_RDONLY, 0);
-	if (file == -1) return NULL;
+	if (file < 0)
+		return NULL;
 	close(file);
 
 	/* create a short library name */

Modified: trunk/blender/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/movieclip.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenkernel/intern/movieclip.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -625,7 +625,7 @@
 
 	/* exists? */
 	file = BLI_open(str, O_BINARY | O_RDONLY, 0);
-	if (file == -1)
+	if (file < 0)
 		return NULL;
 	close(file);
 

Modified: trunk/blender/source/blender/blenkernel/intern/packedFile.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/packedFile.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenkernel/intern/packedFile.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -202,7 +202,7 @@
 	 * and create a PackedFile structure */
 
 	file = BLI_open(name, O_BINARY | O_RDONLY, 0);
-	if (file <= 0) {
+	if (file < 0) {
 		BKE_reportf(reports, RPT_ERROR, "Unable to pack file, source path '%s' not found", name);
 	}
 	else {
@@ -327,20 +327,21 @@
 	BLI_make_existing_file(name);
 	
 	file = BLI_open(name, O_BINARY + O_WRONLY + O_CREAT + O_TRUNC, 0666);
-	if (file >= 0) {
+	if (file < 0) {
+		BKE_reportf(reports, RPT_ERROR, "Error creating file '%s'", name);
+		ret_value = RET_ERROR;
+	}
+	else {
 		if (write(file, pf->data, pf->size) != pf->size) {
 			BKE_reportf(reports, RPT_ERROR, "Error writing file '%s'", name);
 			ret_value = RET_ERROR;
 		}
-		else
+		else {
 			BKE_reportf(reports, RPT_INFO, "Saved packed file to: %s", name);
+		}
 		
 		close(file);
 	}
-	else {
-		BKE_reportf(reports, RPT_ERROR, "Error creating file '%s'", name);
-		ret_value = RET_ERROR;
-	}
 	
 	if (remove_tmp) {
 		if (ret_value == RET_ERROR) {

Modified: trunk/blender/source/blender/blenloader/intern/runtime.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/runtime.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenloader/intern/runtime.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -72,7 +72,7 @@
 	int datastart;
 	char buf[8];
 
-	if (fd == -1)
+	if (fd < 0)
 		goto cleanup;
 	
 	lseek(fd, -12, SEEK_END);
@@ -104,7 +104,7 @@
 
 	fd = BLI_open(path, O_BINARY | O_RDONLY, 0);
 
-	if (fd == -1) {
+	if (fd < 0) {
 		BKE_reportf(reports, RPT_ERROR, "Unable to open '%s': %s", path, strerror(errno));
 		goto cleanup;
 	}

Modified: trunk/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/writefile.c	2013-08-04 17:20:03 UTC (rev 58904)
+++ trunk/blender/source/blender/blenloader/intern/writefile.c	2013-08-04 17:30:47 UTC (rev 58905)
@@ -3396,7 +3396,7 @@
 	BLI_snprintf(tempname, sizeof(tempname), "%s@", filepath);
 
 	file = BLI_open(tempname, O_BINARY+O_WRONLY+O_CREAT+O_TRUNC, 0666);
-	if (file == -1) {
+	if (file < 0) {
 		BKE_reportf(reports, RPT_ERROR, "Cannot open file %s for writing: %s", tempname, strerror(errno));
 		return 0;
 	}




More information about the Bf-blender-cvs mailing list