class field access problem
diff --git a/ChangeLog b/ChangeLog
index d6150ef..b140053 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,10 @@
-0.9.21: 2006-Mar-09
+0.9.21: 2006-Mar-14
* skeletons/standard-modules directory is now used for standard types.
* Refactored system for parsing Information Object Classes.
+ * Fixed class field access problem (Test case 98)
+ (Severity: medim; Security impact: none)
0.9.20: 2006-Mar-06
@@ -476,6 +478,7 @@
SECURITY IMPACT.
This term applies to the amount of potential damage a bug exploitation
could cause.
+ none: No malicious exploitation is possible.
low: The local exploitation is unlikely; the remote exploitation
is impossible.
medium: The remote exploitation is possible when a particular ASN.1
diff --git a/libasn1compiler/asn1c_misc.c b/libasn1compiler/asn1c_misc.c
index 779426a..8805347 100644
--- a/libasn1compiler/asn1c_misc.c
+++ b/libasn1compiler/asn1c_misc.c
@@ -131,6 +131,8 @@
while(top_parent->parent_expr)
top_parent = top_parent->parent_expr;
+ DEBUG("asn1c_type_name(%s: 0x%x)", expr->Identifier, expr->expr_type);
+
switch(expr->expr_type) {
case A1TC_REFERENCE:
typename = expr->reference->components[
@@ -144,7 +146,7 @@
*/
tmp.expr = asn1f_class_access_ex(arg->asn,
arg->expr->module, arg->expr, expr->reference);
- if(tmp.expr) return NULL;
+ if(!tmp.expr) return NULL;
return asn1c_type_name(&tmp, tmp.expr, _format);
}