pnor_partition_table: Disallow ToC entries with start greater than end

Change-Id: If0861efb0f6bccf82a2df94204821f22198e17b0
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/pnor_partition_table.cpp b/pnor_partition_table.cpp
index 646f0c3..19bee87 100644
--- a/pnor_partition_table.cpp
+++ b/pnor_partition_table.cpp
@@ -317,6 +317,14 @@
                 match[NAME_MATCH].str().c_str(), (end - start), blockSize);
     }
 
+    if (start >= end)
+    {
+        std::stringstream err;
+        err << "Partition " << match[NAME_MATCH].str()
+            << " has an invalid range: start offset (0x" << std::hex << start
+            << " is beyond open end (0x" << std::hex << end << ")\n";
+        throw InvalidTocEntry(err.str());
+    }
     writeSizes(part, start, end, blockSize);
 
     // Use the shift to convert "80" to 0x80000000