diff options
author | Paul 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 |
commit | 5787853bc1532468f55149c0e7016fc0a65dcae7 (patch) | |
tree | 55f9f9ab98cc5e11177fe2b4e14e370e331e809b /src | |
parent | 969b1e66dd46fff70168a69dbd4beaaa18ccb490 (diff) | |
download | openocd+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')
-rw-r--r-- | src/flash/nand/tcl.c | 10 |
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)); |