libftdi Archives

Subject: 1.0/examples/stream_test: Fix memory leakage pathes

From: Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 21 Jun 2011 16:17:49 +0200
-- 
Uwe Bonnes                bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From 0ffd6d6b7fab4a814102826092de7b1f125d4aeb Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 21 Jun 2011 16:14:01 +0200
Subject: 1.0/examples/stream_test: Fix memory leakage pathes

---
 examples/stream_test.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/examples/stream_test.c b/examples/stream_test.c
index f8d024e..c510b74 100644
--- a/examples/stream_test.c
+++ b/examples/stream_test.c
@@ -181,12 +181,14 @@ int main(int argc, char **argv)
    if (ftdi_set_interface(&ftdic, INTERFACE_A) < 0)
    {
        fprintf(stderr, "ftdi_set_interface failed\n");
+       ftdi_deinit(&ftdic);
        return EXIT_FAILURE;
    }
    
    if (ftdi_usb_open_desc(&ftdic, 0x0403, 0x6010, descstring, NULL) < 0)
    {
        fprintf(stderr,"Can't open ftdi device: 
%s\n",ftdi_get_error_string(&ftdic));
+       ftdi_deinit(&ftdic);
        return EXIT_FAILURE;
    }
    
@@ -194,6 +196,8 @@ int main(int argc, char **argv)
    if(ftdi_set_latency_timer(&ftdic, 2))
    {
        fprintf(stderr,"Can't set latency, Error 
%s\n",ftdi_get_error_string(&ftdic));
+       ftdi_usb_close(&ftdic);
+       ftdi_deinit(&ftdic);
        return EXIT_FAILURE;
    }
    
@@ -223,6 +227,8 @@ int main(int argc, char **argv)
    if (ftdi_set_bitmode(&ftdic,  0xff, BITMODE_RESET) < 0)
    {
        fprintf(stderr,"Can't set synchronous fifo mode, Error 
%s\n",ftdi_get_error_string(&ftdic));
+       ftdi_usb_close(&ftdic);
+       ftdi_deinit(&ftdic);
        return EXIT_FAILURE;
    }
    ftdi_usb_close(&ftdic);
@@ -233,6 +239,8 @@ int main(int argc, char **argv)
        if ((outputFile = fopen(outfile,"r")) == 0)
        {
            fprintf(stderr,"Can't open logfile %s, Error %s\n", outfile, 
strerror(errno));
+           ftdi_usb_close(&ftdic);
+           ftdi_deinit(&ftdic);
            return EXIT_FAILURE;
        }
        check_outfile(descstring);
-- 
1.7.3.4


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • 1.0/examples/stream_test: Fix memory leakage pathes, Uwe Bonnes <=