aboutsummaryrefslogtreecommitdiffstats
path: root/skeletons
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2005-02-06 04:29:03 +0000
committerLev Walkin <vlm@lionet.info>2005-02-06 04:29:03 +0000
commita8bbbda107a2f95f4b103ec2b89b431797c42a60 (patch)
tree5e4479518e58e651d8e543e84ee5cac09f2d09a7 /skeletons
parent1411d05e4cd73db4e9cf7402d9998ce4f7e1ad0e (diff)
handling temporary structure
Diffstat (limited to 'skeletons')
-rw-r--r--skeletons/NativeReal.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/skeletons/NativeReal.c b/skeletons/NativeReal.c
index 594bdb5f..810d510b 100644
--- a/skeletons/NativeReal.c
+++ b/skeletons/NativeReal.c
@@ -127,6 +127,9 @@ NativeReal_encode_der(asn_TYPE_descriptor_t *td, void *ptr,
asn_enc_rval_t erval;
REAL_t tmp;
+ /* Prepare a temporary clean structure */
+ memset(&tmp, 0, sizeof(tmp));
+
if(asn_double2REAL(&tmp, Dbl)) {
erval.encoded = -1;
erval.failed_type = td;
@@ -140,6 +143,10 @@ NativeReal_encode_der(asn_TYPE_descriptor_t *td, void *ptr,
assert(erval.structure_ptr == &tmp);
erval.structure_ptr = ptr;
}
+
+ /* Free possibly allocated members of the temporary structure */
+ asn_DEF_REAL.free_struct(&asn_DEF_REAL, &tmp, 1);
+
return erval;
}