Source/Python/GenFds/Fd.py: Error if FD region will not fit

Generate an error if a region described within an [FD] section will
not fit within the FD section Size


Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Garrett Kirkendall <garrett.kirkendall@amd.com>
---
Index: Source/Python/GenFds/Fd.py
===================================================================
--- Source/Python/GenFds/Fd.py	(revision 2583)
+++ Source/Python/GenFds/Fd.py	(working copy)
@@ -113,10 +113,15 @@
             PreviousRegionStart = RegionObj.Offset
             PreviousRegionSize = RegionObj.Size
             #
+            # Verify current region fits within allocated FD section Size
+            #
+            if PreviousRegionStart + PreviousRegionSize > self.Size:
+                EdkLogger.error("GenFds", GENFDS_ERROR,
+                                'FD %s size too small to fit region with offset 0x%X and size 0x%X'
+                                % (self.FdUiName, PreviousRegionStart, PreviousRegionSize))
+            #
             # Call each region's AddToBuffer function
             #
-            if PreviousRegionSize > self.Size:
-                EdkLogger.error("GenFds", GENFDS_ERROR, 'FD %s size too small' % self.FdUiName)
             GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')
             RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)
         #
