Uploaded image for project: 'Log4cxx'
  1. Log4cxx
  2. LOGCXX-112

change "static" to "auto" for Transcoder::decode() decoder and CharsetDecoder::getDefaultDecoder() decoder

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 0.10.0
    • None
    • None

    Description

      Hi

      The following patch is a dirty hack and I assume you will want to have it in a totally different way. But it fixes the crash I get. So far it seems that Transcoder::decode() can get called (from the destructors of static objects) even after it's internal static variables get destroyed (thus decrementing the reference count, thus destroying the referenced object eventually thus having the codes dereference an invalid pointer).

      The problem is also present in the ::encode() functions and their "encoder" variable (but it didnt bite my program yet, so I left it there).

      Attachments

        1. log4cxx-static-fix2.diff
          1 kB
          Mihai Rusu
        2. staticdestruct.patch
          2 kB
          Curt Arnold

        Issue Links

          Activity

            People

              carnold@apache.org Curt Arnold
              dizzy Mihai Rusu
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: