diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2014-07-01 01:55:09 -0700 |
---|---|---|
committer | Patrick Ohly <patrick.ohly@intel.com> | 2014-07-03 11:20:10 +0200 |
commit | 6977a261e34e1f9e6c6beda1e31cccd70493ccae (patch) | |
tree | ebda48e4782ccdc84c5adea38af217c0e6d962a9 /src | |
parent | f3f689b85702bad552d93580d6201d6962458d29 (diff) |
PIM: fix invalid call to folks_note_field_details_new
folks_note_field_details_new() takes an additional uid parameter.
Passing NULL is okay, but SyncEvolution wasn't doing that due to
an incorrect function type cast. Found by valgrind only after
a valgrind and tool chain update. Probably we passed a valid
value accidentally before.
Fixed by using a wrapper function.
Ideally the function typecast should get replaced entirely with just casting
the returned pointer.
Diffstat (limited to 'src')
-rw-r--r-- | src/dbus/server/pim/individual-traits.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dbus/server/pim/individual-traits.cpp b/src/dbus/server/pim/individual-traits.cpp index baf42ffc..03e558a0 100644 --- a/src/dbus/server/pim/individual-traits.cpp +++ b/src/dbus/server/pim/individual-traits.cpp @@ -559,6 +559,8 @@ static void DBus2Addr(GDBusCXX::ExtractArgs &context, new GValueObjectCXX(set.get())); } +static FolksAbstractFieldDetails *my_folks_note_field_details_new_wrapper(const gchar *value, GeeMultiMap *parameters) { return FOLKS_ABSTRACT_FIELD_DETAILS(folks_note_field_details_new(value, parameters, NULL)); } + void DBus2PersonaDetails(GDBusCXX::ExtractArgs &context, GDBusCXX::reader_type &iter, PersonaDetails &details) @@ -647,7 +649,7 @@ void DBus2PersonaDetails(GDBusCXX::ExtractArgs &context, DBus2SimpleAbstractField(context, valueIter, details, FOLKS_TYPE_NOTE_FIELD_DETAILS, FOLKS_PERSONA_DETAIL_NOTES, - reinterpret_cast<FolksAbstractFieldDetails *(*)(const gchar *, GeeMultiMap *)>(folks_note_field_details_new)); + my_folks_note_field_details_new_wrapper); } else if (key == CONTACT_HASH_ROLES) { DBus2Role(context, valueIter, details); } else if (key == CONTACT_HASH_GROUPS) { |