From 65888448bf184a830d0b2c0938491bdb6e269893 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Tue, 18 Nov 2014 18:09:06 +0100 Subject: main: When doing normal flash filter all 2nd images This will fix infinite loop after successfull fiasco image flash --- src/main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 34ebffd..0552593 100644 --- a/src/main.c +++ b/src/main.c @@ -758,6 +758,23 @@ int main(int argc, char **argv) { } + /* remove 2nd image when doing normal flash */ + if ( dev_flash ) { + image_ptr = image_first; + while ( image_ptr ) { + struct image_list * next = image_ptr->next; + if ( image_ptr->image->type == IMAGE_2ND ) { + if ( image_ptr == image_first ) + image_first = next; + image_list_del(image_ptr); + } + image_ptr = next; + } + + /* make sure that fiasco_in has valid images */ + if ( fiasco_in ) + fiasco_in->first = image_first; + } /* identify images */ if ( image_ident ) { -- cgit v1.2.3