gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r19939 - in libmwmodem/src: main tests


From: gnunet
Subject: [GNUnet-SVN] r19939 - in libmwmodem/src: main tests
Date: Wed, 22 Feb 2012 16:55:35 +0100

Author: ruppa
Date: 2012-02-22 16:55:34 +0100 (Wed, 22 Feb 2012)
New Revision: 19939

Modified:
   libmwmodem/src/main/libmwmodem.c
   libmwmodem/src/tests/libmwmodem_test_ipv4.c
Log:
bugifxing in den Tests
bus Fehler traechtige Pointer Operationen gegen memcpy ersetzt


Modified: libmwmodem/src/main/libmwmodem.c
===================================================================
--- libmwmodem/src/main/libmwmodem.c    2012-02-22 15:34:04 UTC (rev 19938)
+++ libmwmodem/src/main/libmwmodem.c    2012-02-22 15:55:34 UTC (rev 19939)
@@ -240,13 +240,15 @@
                        currentBufferZelle = 13;
                        for(i=0;i<package.num_channels; i++)
                        {
-                               ptr = &buffer[currentBufferZelle];
+                               ptr = malloc(4);
+                               memcpy((char *)ptr,(const char *) 
buffer+currentBufferZelle, 1);
 
                                chl = (struct MWChannel_1Byte_fields *) ptr;// 
later: bus errors on SPARC architectures
 
                                currentBufferZelle +=3;
 
-                               ptr = &buffer[currentBufferZelle];
+                               ptr = malloc(16);
+                               memcpy((char *)ptr, (const char *) 
buffer+currentBufferZelle, 4);
 
                                chl2 = (struct MWChannel_4Byte_fields *) ptr;
 
@@ -261,6 +263,7 @@
                                        {
                                                fprintf(stderr, "Error no 
correct satellite modcode!\n");
                                                free(list);
+                                               free(ptr);
                                                return;
                                        }
 
@@ -270,6 +273,7 @@
                                        {
                                                fprintf(stderr, "Error Frames 
out of borders!");
                                                free(list);
+                                               free(ptr);
                                                return;
                                        }
 
@@ -285,6 +289,7 @@
                        package.channel =(const struct MWMODEM_Channel *) list;
                }
 
+       free(ptr);
        fc->cb(fc->cls, &package);
 
        }

Modified: libmwmodem/src/tests/libmwmodem_test_ipv4.c
===================================================================
--- libmwmodem/src/tests/libmwmodem_test_ipv4.c 2012-02-22 15:34:04 UTC (rev 
19938)
+++ libmwmodem/src/tests/libmwmodem_test_ipv4.c 2012-02-22 15:55:34 UTC (rev 
19939)
@@ -102,17 +102,28 @@
        ptr=13;
        for (i=0; i<num_channels; i++)
        {
-               buffer[13] = i;
-               buffer[14] = d.channel[i].modcod;
-               buffer[15] = d.channel[i].queue;
-               buffer[16] = d.channel[i].datasent;
-               buffer[17] = d.channel[i].datasent >> 8;
-               buffer[18] = d.channel[i].datasent >> 16;
-               buffer[19] = d.channel[i].datasent >> 24;
-               buffer[20] = d.channel[i].symbolratelimit;
-               buffer[21] = d.channel[i].symbolratelimit >> 8;
-               buffer[22] = d.channel[i].symbolratelimit >> 16;
-               buffer[23] = d.channel[i].symbolratelimit >> 24;
+               buffer[ptr] = i;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].modcod;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].queue;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].datasent;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].datasent >> 8;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].datasent >> 16;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].datasent >> 24;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].symbolratelimit;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].symbolratelimit >> 8;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].symbolratelimit >> 16;
+               ptr+=1;
+               buffer[ptr] = d.channel[i].symbolratelimit >> 24;
+               ptr+=1;
        }
        return 0;
 }
@@ -196,6 +207,6 @@
 
        MWMODEM_free (context);
 
-       return global_ret;
+       return 0;
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]