https://bugs.freedesktop.org/show_bug.cgi?id=90118

Patrick Ohly <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Patrick Ohly <[email protected]> ---
Included the following patch in the upcoming 1.5.1:

commit a5f0139a1070cdde4ec45781059d8703d0341381
Author: Patrick Ohly <[email protected]>
Date:   Mon Jun 1 15:05:16 2015 +0200

    syncing: avoid segfault for invalid text inside items (FDO #90118)

    As reported by Canonical, syncing fails if data items contain
    text which is not correct UTF-8 in one of the fields that
    SyncEvolution logs in the command line output (like SUMMARY of
    a calendar event).

    That is because the byte string coming from the item is passed
    unchecked to the D-Bus implementation for transmission via D-Bus. But
    D-Bus strings must be correct UTF-8, so depending on the D-Bus library
    in use, one gets a segfault (GIO D-Bus, due to an unchecked NULL
    pointer access) or an "out of memory" error (libdbus, which checks for
    NULL).

    What the D-Bus bindings now do is checking the string in advance (to
    avoid error messages inside the D-Bus implementations) and then
    replacing all invalid bytes with question marks. The rest of the
    string is preserved.

    Handling this inside the D-Bus binding layer is not the "correct"
    solution (which would be to check for UTF-8 in the higher layers were
    such bad data might get into SyncEvolution), but it is the less
    intrusive and more complete one. Changing the bindings such that all
    strings must be declared explicitly as "UTF-8 string" would have been
    a way to find all places where such checks are missing, but it turned
    out to be too complex and requiring too many changes.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Syncevolution-issues mailing list
[email protected]
https://lists.syncevolution.org/mailman/listinfo/syncevolution-issues

Reply via email to