fixed constraint code

diff --git a/libasn1fix/asn1fix_crange.c b/libasn1fix/asn1fix_crange.c
index 17618ca..3032799 100644
--- a/libasn1fix/asn1fix_crange.c
+++ b/libasn1fix/asn1fix_crange.c
@@ -313,6 +313,11 @@
 		if(type != ACT_CT_FROM)
 			return 0;
 		break;
+	case ATV_REFERENCED:
+		FATAL("Unrecognized constraint element \"%s\" at line %d",
+			asn1f_printable_reference(val->value.reference),
+			lineno);
+		return -1;
 	default:
 		FATAL("Unrecognized constraint element at line %d",
 			lineno);
@@ -878,7 +883,8 @@
 
 	ret  = _range_fill(vmin, minmax, &range->left,
 				range, type, ct->_lineno);
-	ret |= _range_fill(vmax, minmax, &range->right,
+	if(!ret)
+	ret = _range_fill(vmax, minmax, &range->right,
 				range, type, ct->_lineno);
 	if(ret) {
 		_range_free(range);