aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1fix
diff options
context:
space:
mode:
authorvlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2005-01-22 16:02:45 +0000
committervlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2005-01-22 16:02:45 +0000
commit1cc17970809f80ba1c1c1751ee041c53923173b6 (patch)
tree67fa8c3e89056712c8c7ad93429b4b3e7ca2d0f3 /libasn1fix
parentbdf4e0d0d0940e649df7bf32738533ac4c9aea34 (diff)
fixed field lookup code
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@611 59561ff5-6e30-0410-9f3c-9617f08c8826
Diffstat (limited to 'libasn1fix')
-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;
}
/*