Commit 47c8e475 authored by Lev Walkin's avatar Lev Walkin Committed by GitHub

Merge pull request #104 from velichkov/asn1c_make_identifier_segfault

Fix segmentation fault in asn1c_make_identifier 
parents 06a37c85 febd3d5a
...@@ -17,7 +17,7 @@ abs_top_srcdir="${abs_top_srcdir:-$(pwd)/../../}" ...@@ -17,7 +17,7 @@ abs_top_srcdir="${abs_top_srcdir:-$(pwd)/../../}"
abs_top_builddir="${abs_top_builddir:-$(pwd)/../../}" abs_top_builddir="${abs_top_builddir:-$(pwd)/../../}"
if echo "$*" | grep -q -- -- ; then if echo "$*" | grep -q -- -- ; then
TEST_DRIVER=$(echo "$*" | sed -e 's/ -- .*/--/g') TEST_DRIVER=$(echo "$*" | sed -e 's/ -- .*/ -- /g')
source_full=$(echo "$*" | sed -e 's/.* //g') source_full=$(echo "$*" | sed -e 's/.* //g')
else else
TEST_DRIVER="" TEST_DRIVER=""
......
...@@ -263,7 +263,7 @@ asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format) { ...@@ -263,7 +263,7 @@ asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format) {
switch(_format) { switch(_format) {
case TNF_UNMODIFIED: case TNF_UNMODIFIED:
return asn1c_make_identifier(AMI_MASK_ONLY_SPACES, return asn1c_make_identifier(AMI_MASK_ONLY_SPACES,
0, exprid ? exprid->Identifier : typename, 0); 0, exprid ? exprid->Identifier : typename, (char*)0);
case TNF_INCLUDE: case TNF_INCLUDE:
return asn1c_make_identifier( return asn1c_make_identifier(
AMI_MASK_ONLY_SPACES | AMI_NODELIMITER, AMI_MASK_ONLY_SPACES | AMI_NODELIMITER,
...@@ -271,15 +271,15 @@ asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format) { ...@@ -271,15 +271,15 @@ asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format) {
? "\"" : "<"), ? "\"" : "<"),
exprid ? exprid->Identifier : typename, exprid ? exprid->Identifier : typename,
((!stdname || (arg->flags & A1C_INCLUDES_QUOTED)) ((!stdname || (arg->flags & A1C_INCLUDES_QUOTED))
? ".h\"" : ".h>"), 0); ? ".h\"" : ".h>"), (char*)0);
case TNF_SAFE: case TNF_SAFE:
return asn1c_make_identifier(0, exprid, typename, 0); return asn1c_make_identifier(0, exprid, typename, (char*)0);
case TNF_CTYPE: /* C type */ case TNF_CTYPE: /* C type */
return asn1c_make_identifier(0, exprid, return asn1c_make_identifier(0, exprid,
exprid?"t":typename, exprid?0:"t", 0); exprid?"t":typename, exprid?0:"t", (char*)0);
case TNF_RSAFE: /* Recursion-safe type */ case TNF_RSAFE: /* Recursion-safe type */
return asn1c_make_identifier(AMI_CHECK_RESERVED, 0, return asn1c_make_identifier(AMI_CHECK_RESERVED, 0,
"struct", " ", typename, 0); "struct", " ", typename, (char*)0);
} }
assert(!"unreachable"); assert(!"unreachable");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment