references


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1091 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1fix/asn1fix_dereft.c b/libasn1fix/asn1fix_dereft.c
index 19af0e8..769abed 100644
--- a/libasn1fix/asn1fix_dereft.c
+++ b/libasn1fix/asn1fix_dereft.c
@@ -29,6 +29,7 @@
 	type_expr = asn1f_find_terminal_type(arg, expr);
 	if(type_expr == NULL) {
 		const char *type_name;
+		asn1p_expr_t *idexpr;
 
 		if(errno == EEXIST) {
 			/* Ignore missing type
@@ -39,8 +40,11 @@
 		}
 
 		type_name = asn1f_printable_reference(expr->reference);
+		/* Avoid NULL in case of unnamed T ::= SEQUENCE OF ... */
+		for(idexpr = expr; !idexpr->Identifier && idexpr->parent_expr;
+			idexpr = idexpr->parent_expr);
 		FATAL("Unknown type \"%s\" referenced by \"%s\" at line %d",
-			type_name, expr->Identifier, expr->_lineno);
+			type_name, idexpr->Identifier, expr->_lineno);
 		return -1;
 	}