diff options
author | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2013-09-23 14:21:06 +0000 |
---|---|---|
committer | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2013-09-23 14:21:06 +0000 |
commit | 8268fdb90227af0293d2fbfcf92f971af44cb001 (patch) | |
tree | 4a5f50d844a729a5806abfed35e79169ca9fd6d2 /cli_classic.c | |
parent | a6a0d2000a1197e90faaf8d9e7697c96f1deb934 (diff) | |
download | ast2050-flashrom-8268fdb90227af0293d2fbfcf92f971af44cb001.zip ast2050-flashrom-8268fdb90227af0293d2fbfcf92f971af44cb001.tar.gz |
layout: Verify layout entries before building a new image using them
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
and bail out after checking all of them.
Also, abort for non-write operations if a layout file is given because there is
no layout support for other operations yet.
Corresponding to flashrom svn r1751.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'cli_classic.c')
-rw-r--r-- | cli_classic.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cli_classic.c b/cli_classic.c index 70bccb5..a0c2d64 100644 --- a/cli_classic.c +++ b/cli_classic.c @@ -370,6 +370,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; |