commit:1b5012f54151382cddfe5ead3475f993ea947273
author:Chip Black
committer:Chip Black
date:Sun Jun 2 23:49:01 2013 -0500
parents:974dbf20da7aec573384615db50f7e03e56c1667
Properly initialize data_size for empty data segment
diff --git a/database/database.c b/database/database.c
line changes: +3/-3
index 618c0d3..52ebe8c
--- a/database/database.c
+++ b/database/database.c
@@ -57,16 +57,16 @@ int blerg_remap_data(struct blerg *blerg) {
 	if (blerg->data != NULL)
 		munmap(blerg->data, blerg->data_size);
 	fstat(blerg->data_fd, &st);
-	if (st.st_size == 0) {
+	blerg->data_size = st.st_size;
+	if (blerg->data_size == 0) {
 		/* Can't map an empty data file. */
 		return 1;
 	}
-	blerg->data = (char *) mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, blerg->data_fd, 0);
+	blerg->data = (char *) mmap(NULL, blerg->data_size, PROT_READ, MAP_SHARED, blerg->data_fd, 0);
 	if (blerg->data == MAP_FAILED) {
 		perror("Could not remap data");
 		return 0;
 	}
-	blerg->data_size = st.st_size;
 	return 1;
 }