Module: xenomai-abe
Branch: analogy
Commit: 8e554204b9f36aafcb89c72c13362a00c5a3fa7b
URL:    
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=8e554204b9f36aafcb89c72c13362a00c5a3fa7b

Author: Alexis Berlemont <alexis.berlem...@gmail.com>
Date:   Wed Nov 25 13:48:52 2009 +0100

analogy: fix bad error handling path in test programs

---

 src/utils/analogy/cmd_read.c   |    5 +++--
 src/utils/analogy/cmd_write.c  |    5 +++--
 src/utils/analogy/insn_read.c  |    2 +-
 src/utils/analogy/insn_write.c |    2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/utils/analogy/cmd_read.c b/src/utils/analogy/cmd_read.c
index f665ccd..99bdab8 100644
--- a/src/utils/analogy/cmd_read.c
+++ b/src/utils/analogy/cmd_read.c
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
        unsigned int i, scan_size = 0, cnt = 0;
        unsigned long buf_size;
        void *map = NULL;
-       a4l_desc_t dsc;
+       a4l_desc_t dsc = { .sbdata = NULL };
 
        /* Compute arguments */
        while ((ret = getopt_long(argc,
@@ -411,7 +411,8 @@ out_main:
                munmap(map, buf_size);
 
        /* Free the buffer used as device descriptor */
-       free(dsc.sbdata);
+       if (dsc.sbdata != NULL)
+               free(dsc.sbdata);
 
        /* Release the file descriptor */
        a4l_close(&dsc);
diff --git a/src/utils/analogy/cmd_write.c b/src/utils/analogy/cmd_write.c
index 05b648a..9fe536e 100644
--- a/src/utils/analogy/cmd_write.c
+++ b/src/utils/analogy/cmd_write.c
@@ -114,7 +114,7 @@ int main(int argc, char *argv[])
        unsigned int i, scan_size = 0, cnt = 0;
        unsigned long buf_size;
        void *map = NULL;
-       a4l_desc_t dsc;
+       a4l_desc_t dsc = { .sbdata = NULL };
 
        /* Compute arguments */
        while ((ret = getopt_long(argc,
@@ -405,7 +405,8 @@ int main(int argc, char *argv[])
 out_main:
 
        /* Free the buffer used as device descriptor */
-       free(dsc.sbdata);
+       if (dsc.sbdata != NULL)
+               free(dsc.sbdata);
 
        /* Release the file descriptor */
        a4l_close(&dsc);
diff --git a/src/utils/analogy/insn_read.c b/src/utils/analogy/insn_read.c
index f4029be..50f2c98 100644
--- a/src/utils/analogy/insn_read.c
+++ b/src/utils/analogy/insn_read.c
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
 {
        int ret = 0, i;
        unsigned int cnt = 0;
-       a4l_desc_t dsc;
+       a4l_desc_t dsc = { .sbdata = NULL };
        a4l_chinfo_t *chinfo;
        a4l_rnginfo_t *rnginfo;
 
diff --git a/src/utils/analogy/insn_write.c b/src/utils/analogy/insn_write.c
index f5bda70..6da24da 100644
--- a/src/utils/analogy/insn_write.c
+++ b/src/utils/analogy/insn_write.c
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
 {
        int ret = 0;
        unsigned int cnt = 0;
-       a4l_desc_t dsc;
+       a4l_desc_t dsc = { .sbdata = NULL };
        a4l_chinfo_t *chinfo;
        a4l_rnginfo_t *rnginfo;
 


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to