[haiku-commits] r39974 - haiku/trunk/src/system/runtime_loader

  • From: fredrik.holmqvist@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 28 Dec 2010 12:23:40 +0100 (CET)

Author: tqh
Date: 2010-12-28 12:23:40 +0100 (Tue, 28 Dec 2010)
New Revision: 39974
Changeset: http://dev.haiku-os.org/changeset/39974

Modified:
   haiku/trunk/src/system/runtime_loader/images.cpp
Log:
While the functions didn't use the delta for i==0 accessing arrays at [0 - 1] 
can't be good.
CID 3197. 


Modified: haiku/trunk/src/system/runtime_loader/images.cpp
===================================================================
--- haiku/trunk/src/system/runtime_loader/images.cpp    2010-12-28 10:46:42 UTC 
(rev 39973)
+++ haiku/trunk/src/system/runtime_loader/images.cpp    2010-12-28 11:23:40 UTC 
(rev 39974)
@@ -301,8 +301,8 @@
 
                uint32 regionAddressSpecifier;
                get_image_region_load_address(image, i,
-                       loadAddress - image->regions[i - 1].vmstart, fixed,
-                       loadAddress, regionAddressSpecifier);
+                       i > 0 ? loadAddress - image->regions[i - 1].vmstart : 
loadAddress,
+                       fixed, loadAddress, regionAddressSpecifier);
                if (i == 0) {
                        reservedAddress = loadAddress;
                        addressSpecifier = regionAddressSpecifier;
@@ -333,8 +333,9 @@
                snprintf(regionName, sizeof(regionName), "%s_seg%lu%s",
                        baseName, i, (image->regions[i].flags & RFLAG_RW) ? 
"rw" : "ro");
 
-               get_image_region_load_address(image, i, image->regions[i - 
1].delta,
-                       fixed, loadAddress, addressSpecifier);
+               get_image_region_load_address(image, i,
+                       i > 0 ? image->regions[i - 1].delta : 0, fixed, 
loadAddress,
+                       addressSpecifier);
 
                // If the image position is arbitrary, we must let it point to 
the start
                // of the reserved address range.


Other related posts: