summaryrefslogtreecommitdiff
path: root/cli_classic.c
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-09-23 15:32:25 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-09-23 15:32:25 +0000
commit1694aaca589ae801eac0155d0552c328ccb51ded (patch)
tree7e1ce5783126c9ebe77be91b646022a872fb36d6 /cli_classic.c
parent92126a64473c8d659c2bbaa3fafe9d7951c9d42f (diff)
downloadflashrom-0.9.7.tar.gz
layout: Verify layout entries before building a new image using them.0.9.7
This fixes a SEGFAULT if a layout entry is included that addresses memory outside the current chip's address range. flashrom will only abort if the offending region(s) is/are included else it will just warn. It will print warnings for regions with negative or zero-length address ranges too, but it will only abort if they are included with -i/--image to reduce the potential of regressions. This is different to the patch committed to the development branch in r1751. Also, abort for non-write operations if a layout file is given because there is no layout support for non-write operations yet, and some reports show that users expect it to work at least for -r/--read. Signed-off-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: https://code.coreboot.org/svn/flashrom/branches/0.9.7@1752 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'cli_classic.c')
-rw-r--r--cli_classic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cli_classic.c b/cli_classic.c
index 4c71d07..820a79a 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -372,6 +372,12 @@ int main(int argc, char *argv[])
ret = 1;
goto out;
}
+ if (layoutfile != NULL && !write_it) {
+ msg_gerr("Layout files are currently supported for write operations only.\n");
+ ret = 1;
+ goto out;
+ }
+
if (process_include_args()) {
ret = 1;
goto out;