Simon South created THRIFT-2690:
-----------------------------------

             Summary: c_glib: Incorrect behaviour when serializing a map with 
typedef'd keys
                 Key: THRIFT-2690
                 URL: https://issues.apache.org/jira/browse/THRIFT-2690
             Project: Thrift
          Issue Type: Bug
          Components: C glib - Compiler
    Affects Versions: 0.9.1
         Environment: Fedora 20 64-bit on x86_64
            Reporter: Simon South
            Priority: Minor


This is the same issue reported in 
[THRIFT-2683|https://issues.apache.org/jira/browse/THRIFT-2683] but for 
_serializing_ maps.

The compiler must resolve a typedef'd type to its underlying type before 
attempting to reason about it. By failing to do this, the current c_glib 
compiler will in most cases generate incorrect code for serializing a map when 
either its keys or its values are of a typedef'd type. The client receives 
garbage data instead of the map's actual contents.

The attached patch fixes this. It should be applied after the patch for 
[THRIFT-1266|https://issues.apache.org/jira/browse/THRIFT-1266].

No test case, yet again, but the server half of the integration test suite will 
trigger this bug without the patch applied.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to