Skip to content
Snippets Groups Projects
Commit 24d20deb authored by Adam Knapp's avatar Adam Knapp
Browse files

Fixing memory leak related to LENGTHTO improvements (issue #554)


Signed-off-by: default avatarAdam Knapp <adam.knapp@ericsson.com>
parent 699198af
No related branches found
No related tags found
1 merge request!249Fixing memory leak related to LENGTHTO improvements (issue #554)
...@@ -751,6 +751,7 @@ char* generate_raw_coding(char* src, ...@@ -751,6 +751,7 @@ char* generate_raw_coding(char* src,
} }
src = mputprintf(src, src = mputprintf(src,
" if (myleaf.body.node.nodes[%lu]->body.node.nodes[%d]) {\n" " if (myleaf.body.node.nodes[%lu]->body.node.nodes[%d]) {\n"
" delete myleaf.body.node.nodes[%lu]->body.node.nodes[%d];\n"
" myleaf.body.node.nodes[%lu]->body.node.nodes[%d] = " " myleaf.body.node.nodes[%lu]->body.node.nodes[%d] = "
"new RAW_enc_tree(TRUE, myleaf.body.node.nodes[%lu], " "new RAW_enc_tree(TRUE, myleaf.body.node.nodes[%lu], "
"&(myleaf.body.node.nodes[%lu]->curr_pos), %d, %s_descr_.raw);\n" "&(myleaf.body.node.nodes[%lu]->curr_pos), %d, %s_descr_.raw);\n"
...@@ -769,6 +770,7 @@ char* generate_raw_coding(char* src, ...@@ -769,6 +770,7 @@ char* generate_raw_coding(char* src,
"init_lengthto_fields_list(%d);\n", "init_lengthto_fields_list(%d);\n",
(unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield, (unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield,
(unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield, (unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield,
(unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield,
(unsigned long)i, (unsigned long)i, (unsigned long)i, (unsigned long)i,
sdef->elements[i].raw.lengthindex->nthfield, sdef->elements[i].raw.lengthindex->typedescr, sdef->elements[i].raw.lengthindex->nthfield, sdef->elements[i].raw.lengthindex->typedescr,
(unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield, (unsigned long)i, sdef->elements[i].raw.lengthindex->nthfield,
...@@ -829,8 +831,9 @@ char* generate_raw_coding(char* src, ...@@ -829,8 +831,9 @@ char* generate_raw_coding(char* src,
" int sel_field = 0;\n" " int sel_field = 0;\n"
" while (myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field] == NULL) " " while (myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field] == NULL) "
"{ sel_field++; }\n" "{ sel_field++; }\n"
" const TTCN_Typedescriptor_t* tmpTypeDesc = myleaf.body.node.nodes[%lu]->" " const TTCN_Typedescriptor_t* tmpTypeDesc = myleaf.body.node.nodes[%lu]->"
"body.node.nodes[sel_field]->coding_descr;\n" "body.node.nodes[sel_field]->coding_descr;\n"
" delete myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field];\n"
" myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field] = " " myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field] = "
"new RAW_enc_tree(TRUE, myleaf.body.node.nodes[%lu], " "new RAW_enc_tree(TRUE, myleaf.body.node.nodes[%lu], "
"&(myleaf.body.node.nodes[%lu]->curr_pos), sel_field, tmpTypeDesc->raw);\n" "&(myleaf.body.node.nodes[%lu]->curr_pos), sel_field, tmpTypeDesc->raw);\n"
...@@ -847,7 +850,7 @@ char* generate_raw_coding(char* src, ...@@ -847,7 +850,7 @@ char* generate_raw_coding(char* src,
" myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field]->" " myleaf.body.node.nodes[%lu]->body.node.nodes[sel_field]->"
"calcof.lengthto.fields = init_lengthto_fields_list(%d);\n", "calcof.lengthto.fields = init_lengthto_fields_list(%d);\n",
(unsigned long)i,(unsigned long)i,(unsigned long)i,(unsigned long)i, (unsigned long)i,(unsigned long)i,(unsigned long)i,(unsigned long)i,
(unsigned long)i,(unsigned long)i,(unsigned long)i, (unsigned long)i,(unsigned long)i,(unsigned long)i,(unsigned long)i,
(unsigned long)i,sdef->elements[i].raw.lengthto_num, (unsigned long)i,sdef->elements[i].raw.lengthto_num,
(unsigned long)i,sdef->elements[i].raw.unit, (unsigned long)i,sdef->elements[i].raw.unit,
(unsigned long)i,sdef->elements[i].raw.lengthto_offset, (unsigned long)i,sdef->elements[i].raw.lengthto_offset,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment