projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: free all the metadata-related memory
[babeltrace.git]
/
types
/
sequence.c
diff --git
a/types/sequence.c
b/types/sequence.c
index ae91ef87798683b6958892d32fc331c3da09c0cb..81270facd1096bc26fa25829fdbea505c42f0f19 100644
(file)
--- a/
types/sequence.c
+++ b/
types/sequence.c
@@
-20,6
+20,7
@@
#include <babeltrace/compiler.h>
#include <babeltrace/format.h>
#include <babeltrace/compiler.h>
#include <babeltrace/format.h>
+#include <babeltrace/types.h>
#include <inttypes.h>
static
#include <inttypes.h>
static
@@
-66,6
+67,11
@@
int sequence_rw(struct stream_pos *pos, struct definition *definition)
*field = sequence_declaration->elem->definition_new(sequence_declaration->elem,
sequence_definition->p.scope,
name, i, NULL);
*field = sequence_declaration->elem->definition_new(sequence_declaration->elem,
sequence_definition->p.scope,
name, i, NULL);
+ }
+ for (i = 0; i < len; i++) {
+ struct definition **field;
+
+ field = (struct definition **) &g_ptr_array_index(sequence_definition->elems, i);
ret = generic_rw(pos, *field);
if (ret)
return ret;
ret = generic_rw(pos, *field);
if (ret)
return ret;
@@
-200,8
+206,8
@@
void _sequence_definition_free(struct definition *definition)
field = g_ptr_array_index(sequence->elems, i);
field->declaration->definition_free(field);
}
field = g_ptr_array_index(sequence->elems, i);
field->declaration->definition_free(field);
}
+ (void) g_ptr_array_free(sequence->elems, TRUE);
}
}
- (void) g_ptr_array_free(sequence->elems, TRUE);
definition_unref(len_definition);
free_definition_scope(sequence->p.scope);
declaration_unref(sequence->p.declaration);
definition_unref(len_definition);
free_definition_scope(sequence->p.scope);
declaration_unref(sequence->p.declaration);
This page took
0.024152 seconds
and
4
git commands to generate.