This is an automated email from the ASF dual-hosted git repository.

fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/master by this push:
     new 68708e7  AVRO-3129: Throw SchemaParseException when enum symbol is 
null. (#1210)
68708e7 is described below

commit 68708e718c8f3731768644305b15fcdca2e30a77
Author: Ravindranath Kakarla <[email protected]>
AuthorDate: Sun May 9 14:20:09 2021 -0700

    AVRO-3129: Throw SchemaParseException when enum symbol is null. (#1210)
    
    Co-authored-by: Ravindranath Kakarla <[email protected]>
---
 lang/java/avro/src/main/java/org/apache/avro/Schema.java     | 2 ++
 lang/java/avro/src/test/java/org/apache/avro/TestSchema.java | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java 
b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index 9b75efd..89d0b32 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -1556,6 +1556,8 @@ public abstract class Schema extends JsonProperties 
implements Serializable {
   private static String validateName(String name) {
     if (!validateNames.get())
       return name; // not validating names
+    if (name == null)
+      throw new SchemaParseException("Null name");
     int length = name.length();
     if (length == 0)
       throw new SchemaParseException("Empty name");
diff --git a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java 
b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
index b7e0dbe..90d235b 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
@@ -355,4 +355,9 @@ public class TestSchema {
     assertEquals(1.0f, field.defaultVal());
     assertEquals(1.0f, GenericData.get().getDefaultValue(field));
   }
+
+  @Test(expected = SchemaParseException.class)
+  public void testEnumSymbolAsNull() {
+    Schema.createEnum("myField", "doc", "namespace", 
Collections.singletonList(null));
+  }
 }

Reply via email to