aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2005-01-22 16:02:45 +0000
committerLev Walkin <vlm@lionet.info>2005-01-22 16:02:45 +0000
commita2d2e02561f47b4ff69cc830dc3d9e93a6d25517 (patch)
tree67fa8c3e89056712c8c7ad93429b4b3e7ca2d0f3
parent96349f3fbdfb68e3d869d0a0b178d8020928fe44 (diff)
fixed field lookup code
-rw-r--r--libasn1fix/asn1fix_class.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libasn1fix/asn1fix_class.c b/libasn1fix/asn1fix_class.c
index 98d47f44..05c32271 100644
--- a/libasn1fix/asn1fix_class.c
+++ b/libasn1fix/asn1fix_class.c
@@ -117,6 +117,9 @@ asn1f_class_object_category(asn1p_expr_t *expr) {
static field_category_e
asn1f_class_field_category(asn1p_expr_t *ofield) {
+
+ assert(ofield);
+
if(ofield->Identifier[0] != '&') {
assert(ofield->Identifier[0] == '&');
return OFC_INVALID;
@@ -194,10 +197,12 @@ asn1f_class_dot_lookup(arg_t *arg, asn1p_expr_t *obj, asn1p_ref_t *ref) {
ofield = asn1f_lookup_child(obj, comp_name);
if(ofield == NULL) {
- DEBUG("Cannot find field \"%s\" in \"%s\" at line %d",
+ FATAL("Cannot find field \"%s\" in \"%s\" at line %d",
ref->components[1].name,
obj->Identifier,
obj->_lineno);
+ errno = EPERM;
+ return NULL;
}
/*