[
https://issues.apache.org/jira/browse/AVRO-1561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dustin Spicuzza updated AVRO-1561:
----------------------------------
Attachment: map_npe.patch
Patch for NPE
> [PATCH] segfault NPE in avro_resolved_map_reader_get_by_index
> -------------------------------------------------------------
>
> Key: AVRO-1561
> URL: https://issues.apache.org/jira/browse/AVRO-1561
> Project: Avro
> Issue Type: Bug
> Components: c
> Affects Versions: 1.7.7
> Reporter: Dustin Spicuzza
> Priority: Critical
> Attachments: map_npe.patch
>
>
> This one took a long time to diagnose, but this bug only appears to happen
> when you have a map with an embedded record, provided that the record was
> previously there. Here's an example avsc that triggers the bug:
> {noformat}
> {
> "type" : "record",
> "name" : "ObjectWithMap",
> "namespace" : "foobar",
> "fields" : [ {
> "name" : "nested",
> "type" : {
> "type" : "record",
> "name" : "Nested",
> "fields" : [ {
> "name" : "something",
> "type" : "int"
> } ]
> }
> }, {
> "name" : "mapOfObjects",
> "type" : {
> "type" : "map",
> "values" : "Nested"
> }
> } ]
> }
> {noformat}
> The reason the bug occurs in this specific instance is because the schema
> causes the two Nested objects to be link records, and so a link resolver is
> set in the iface for the value, but it's never initialized.
> The patch copies the initialization code present in
> avro_resolved_array_reader_get_by_index into
> avro_resolved_map_reader_get_by_index and
> avro_resolved_map_reader_get_by_name, and the segfault no longer occurs.
--
This message was sent by Atlassian JIRA
(v6.2#6252)