From b4974f2cd412096d8fbe73bc71c47fc9ac233e16 Mon Sep 17 00:00:00 2001
From: James Irwin <irwineffect@gmail.com>
Date: Wed, 27 Apr 2016 13:38:44 -0700
Subject: [PATCH] fix for -A flag

---
 src/friidump.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/friidump.c b/src/friidump.c
index 8b26fe5..2cbbc03 100644
--- a/src/friidump.c
+++ b/src/friidump.c
@@ -688,17 +688,26 @@ int main (int argc, char *argv[]) {
 			
 				if(options.allmethods)
 				{
+
+					d = disc_destroy (d);
 					fprintf (stderr, "Trying all methods... This will take a LOOOONG time and generate an insanely long console output :p\n");
 					for(options.command=0;options.command<=4;options.command++)
 					{
 						for(options.dump_method=0;options.dump_method<=9;options.dump_method++)
 						{
 							fprintf (stderr, "Trying with command %d, method %d\n", options.command, options.dump_method);
+							if (!(d = disc_new (options.device, options.command))) 
+							{
+								fprintf (stderr, "Failed to create disc with given options\n");
+								exit(1);
+							}
+
 							out = dologic(d, stats);
 							if(out==true)
 							{
 								break;
 							}
+							d = disc_destroy (d);
 						}
 						if(out==true)
 						{