From: Paul Richards Date: Wed, 15 Dec 2010 12:42:03 +0000 (+0900) Subject: Fix for segfault in handle_nand_dump_command. X-Git-Tag: v0.5.0-rc1~276 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=5787853bc1532468f55149c0e7016fc0a65dcae7;p=openocd Fix for segfault in handle_nand_dump_command. --- 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));