summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--src/upb_def.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index c7fa864..92f1cd8 100644
--- a/Makefile
+++ b/Makefile
@@ -157,7 +157,7 @@ src/descriptor.pb: src/descriptor.proto
descriptorgen: src/descriptor.pb src/upbc
@# Regenerate descriptor_const.h
- ./tools/upbc -o src/descriptor src/descriptor.pb
+ ./src/upbc -o src/descriptor src/descriptor.pb
cd src && xxd -i descriptor.pb > descriptor.c
src/upbc: src/upbc.c $(LIBUPB)
diff --git a/src/upb_def.c b/src/upb_def.c
index 7e962c8..879f1e8 100644
--- a/src/upb_def.c
+++ b/src/upb_def.c
@@ -476,6 +476,12 @@ static upb_flow_t upb_enumdef_EnumValueDescriptorProto_value(void *_b,
break;
case GOOGLE_PROTOBUF_ENUMVALUEDESCRIPTORPROTO_NUMBER_FIELDNUM:
b->number = upb_value_getint32(val);
+ if (b->number == 0) {
+ upb_seterr(&b->status, UPB_ERROR,
+ "Enums with a value of 0 are currently broken; see "
+ "http://code.google.com/p/upb/issues/detail?id=1.");
+ return UPB_BREAK;
+ }
b->saw_number = true;
break;
default:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback