* Stop process with many recovery images
* to prevent working with unintended image
*/
- ASSERT_RETV(num_recovery_img++ == 0, EMFILE,
+ num_recovery_img++;
+ ASSERT_RETV(num_recovery_img == 1, EMFILE,
"There are many recovery images. Please put exactly one image");
snprintf(recovery_image_path, sizeof(recovery_image_path), "%s", path);
ASSERT_RETV(fd_src != -1, errno, "Failed to open image (%d)", errno);
fd_dst = open(image_list->devpath, O_WRONLY);
- ASSERT_RETV(fd_dst, errno, "Failed to open device (%d)", errno);
+ ASSERT_RETV(fd_dst != -1, errno, "Failed to open device (%d)", errno);
while ((data_size = read(fd_src, buf, sizeof(buf))) > 0) {
update_progress(data_size);
close(fd_dst);
close(fd_src);
+
+ fd_dst = -1;
+ fd_src = -1;
+
image_list = image_list->next;
}
_I("=== Image writing end ===");