gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r8444 - flightrecorder/src/libflightrecorder


From: gnunet
Subject: [GNUnet-SVN] r8444 - flightrecorder/src/libflightrecorder
Date: Sat, 2 May 2009 07:41:18 -0600

Author: durner
Date: 2009-05-02 07:41:18 -0600 (Sat, 02 May 2009)
New Revision: 8444

Modified:
   flightrecorder/src/libflightrecorder/stack_trace.c
Log:
fixes

Modified: flightrecorder/src/libflightrecorder/stack_trace.c
===================================================================
--- flightrecorder/src/libflightrecorder/stack_trace.c  2009-05-01 21:17:23 UTC 
(rev 8443)
+++ flightrecorder/src/libflightrecorder/stack_trace.c  2009-05-02 13:41:18 UTC 
(rev 8444)
@@ -220,10 +220,10 @@
 
   for (cur = 0; cur < len; cur++)
   {
-    struct StackTraceEntry entry1, entry2;
+    struct StackTraceEntry *entry1, *entry2;
 
-    entry1 = trace1->entries[cur];
-    entry2 = trace2->entries[cur];
+    entry1 = trace1->entries + cur;
+    entry2 = trace2->entries + cur;
 
     if (strcmp(entry1->file, entry2->file) != 0 || entry1->line != 
entry2->line)
       return 0;
@@ -245,11 +245,12 @@
   unsigned int entry_idx;
 
   ret = (struct StackTrace *) malloc(sizeof(struct StackTrace));
-  memset(ret, sizeof(struct StackTrace), 0);
+  memset(ret, 0, sizeof(struct StackTrace));
   ret->depth = trace->depth;
   ret->tid = trace->tid;
-  ret->entries = (struct StackTraceEntries *) malloc(sizeof(struct 
StackTraceEntry) * ret->depth);
-  memset(ret->entries, sizeof(struct StackTraceEntries) * ret->depth);
+  ret->entries = (struct StackTraceEntry *) malloc(
+      sizeof(struct StackTraceEntry) * ret->depth);
+  memset(ret->entries, 0, sizeof(struct StackTraceEntry) * ret->depth);
 
   src_entry = trace->entries;
   dst_entry = ret->entries;
@@ -266,8 +267,8 @@
       char **src_info, **dst_info;
 
       dst_entry->info_count = src_entry->info_count;
-      src_info = src_entry->infos;
-      dst_info = dst_entry->infos;
+      src_info = src_entry->info;
+      dst_info = dst_entry->info;
       for (info_idx = src_entry->info_count; info_idx > 0; info_idx--)
       {
         *dst_info = strdup(*src_info);
@@ -301,13 +302,15 @@
     if (entry->function)
       free(entry->function);
 
-    info = entry->infos;
+    info = entry->info;
     for (info_idx = entry->info_count; info_idx > 0; info_idx--)
     {
-      free(*src_info);
+      free(info[info_idx]);
       info++;
     }
 
     entry++;
   }
+
+  free(trace->entries);
 }





reply via email to

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