OER encoding of pure NULLs verified
diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c
index 1e8f8ee..49c389d 100644
--- a/skeletons/constr_CHOICE.c
+++ b/skeletons/constr_CHOICE.c
@@ -1176,7 +1176,7 @@
unsigned apresent = 0;
unsigned bpresent = 0;
const void *amember = _get_member_ptr(td, aptr, &aelm, &apresent);
- const void *bmember = _get_member_ptr(td, bptr, &belm, &apresent);
+ const void *bmember = _get_member_ptr(td, bptr, &belm, &bpresent);
if(amember && bmember) {
if(apresent == bpresent) {
diff --git a/skeletons/constr_CHOICE_oer.c b/skeletons/constr_CHOICE_oer.c
index 2cd6a1c..ca5674d 100644
--- a/skeletons/constr_CHOICE_oer.c
+++ b/skeletons/constr_CHOICE_oer.c
@@ -357,7 +357,7 @@
er = elm->type->op->oer_encoder(elm->type, elm->encoding_constraints.oer_constraints, memb_ptr,
cb, app_key);
- if(er.encoded > 0)
+ if(er.encoded >= 0)
er.encoded += tag_len;
return er;
diff --git a/tests/tests-randomized/Makefile.am b/tests/tests-randomized/Makefile.am
index be433ab..07bba5e 100644
--- a/tests/tests-randomized/Makefile.am
+++ b/tests/tests-randomized/Makefile.am
@@ -38,6 +38,7 @@
TESTS += bundles/12-UniversalString-bundle.txt
TESTS += bundles/13-UTCTime-bundle.txt
TESTS += bundles/14-GeneralizedTime-bundle.txt
+TESTS += bundles/15-CHOICE-bundle.txt
EXTRA_DIST = \
random-test-driver.c \
diff --git a/tests/tests-randomized/bundles/15-CHOICE-bundle.txt b/tests/tests-randomized/bundles/15-CHOICE-bundle.txt
new file mode 100644
index 0000000..5f9ea26
--- /dev/null
+++ b/tests/tests-randomized/bundles/15-CHOICE-bundle.txt
@@ -0,0 +1 @@
+CHOICE { null NULL }