summaryrefslogtreecommitdiff
path: root/src/flash/nand
diff options
context:
space:
mode:
authorPaul Richards <paulr227@gmail.com>2010-12-15 21:42:03 +0900
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-12-15 14:14:02 +0100
commit5787853bc1532468f55149c0e7016fc0a65dcae7 (patch)
tree55f9f9ab98cc5e11177fe2b4e14e370e331e809b /src/flash/nand
parent969b1e66dd46fff70168a69dbd4beaaa18ccb490 (diff)
downloadopenocd_libswd-5787853bc1532468f55149c0e7016fc0a65dcae7.tar.gz
openocd_libswd-5787853bc1532468f55149c0e7016fc0a65dcae7.tar.bz2
openocd_libswd-5787853bc1532468f55149c0e7016fc0a65dcae7.tar.xz
openocd_libswd-5787853bc1532468f55149c0e7016fc0a65dcae7.zip
Fix for segfault in handle_nand_dump_command.
Diffstat (limited to 'src/flash/nand')
-rw-r--r--src/flash/nand/tcl.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/flash/nand/tcl.c b/src/flash/nand/tcl.c
index 15cf1797..af91fc89 100644
--- a/src/flash/nand/tcl.c
+++ b/src/flash/nand/tcl.c
@@ -357,6 +357,7 @@ COMMAND_HANDLER(handle_nand_verify_command)
COMMAND_HANDLER(handle_nand_dump_command)
{
+ int filesize;
struct nand_device *nand = NULL;
struct nand_fileio_state s;
int retval = CALL_COMMAND_HANDLER(nand_fileio_parse_args,
@@ -386,13 +387,12 @@ COMMAND_HANDLER(handle_nand_dump_command)
s.address += nand->page_size;
}
+ retval = fileio_size(&s.fileio, &filesize);
+ if (retval != ERROR_OK)
+ return retval;
+
if (nand_fileio_finish(&s) == ERROR_OK)
{
- int filesize;
- retval = fileio_size(&s.fileio, &filesize);
- if (retval != ERROR_OK)
- return retval;
-
command_print(CMD_CTX, "dumped %ld bytes in %fs (%0.3f KiB/s)",
(long)filesize, duration_elapsed(&s.bench),
duration_kbps(&s.bench, filesize));