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

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

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.10.0
    • Fix Version/s: 0.10.0
    • Component/s: None
    • Labels:
      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. staticdestruct.patch
          2 kB
          Curt Arnold
        2. log4cxx-static-fix2.diff
          1 kB
          Mihai Rusu

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: