<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Multiple memory leaks in libmacabdrv1"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=111634#c20">Comment # 20</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Multiple memory leaks in libmacabdrv1"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=111634">bug 111634</a>
              from <span class="vcard"><a class="email" href="mailto:serval2412@yahoo.fr" title="Julien Nabet <serval2412@yahoo.fr>"> <span class="fn">Julien Nabet</span></a>
</span></b>
        <pre>(In reply to Noel Grandin from <a href="show_bug.cgi?id=111634#c19">comment #19</a>)
<span class="quote">> ...
> I actually think that the macabfield struct should have a destructor, and
> that destructor should call CFRelease, instead of replicating the logic all
> over the place.
> ...</span >
I tried this but had a crash:
    frame #1: 0x000000015e824b17
libmacabdrv1.dylib`connectivity::macab::MacabRecord::copy(this=0x00007f8ef81a14d0,
i=0) const at MacabRecord.cxx:129
    frame #2: 0x000000015e828d18
libmacabdrv1.dylib`connectivity::macab::MacabRecords::createHeaderForProperty(this=0x00007f8ef82c4590,
_propertyType=6, _propertyValue=0x00007f8ef81c5240,
_propertyName=0x00007f8ef83395d0) const at MacabRecords.cxx:763
    frame #3: 0x000000015e82775a
libmacabdrv1.dylib`connectivity::macab::MacabRecords::createHeaderForProperty(this=0x00007f8ef82c4590,
_propertyType=262, _propertyValue=0x00007f8ef8196c30,
_propertyName=0x000000015be3cd80) const at MacabRecords.cxx:657
    frame #4: 0x000000015e826b96
libmacabdrv1.dylib`connectivity::macab::MacabRecords::createHeaderForProperty(this=0x00007f8ef82c4590,
_record=0x00007f8ef823e380, _propertyName=0x00007fff9b9f4280,
_recordType=0x00007fff9b9ed4a0, _isPropertyRequired=true) const at
MacabRecords.cxx:535
    frame #5: 0x000000015e826047
libmacabdrv1.dylib`connectivity::macab::MacabRecords::createHeaderForRecordType(this=0x00007f8ef82c4590,
_records=0x00007f8ef8187a00, _recordType=0x00007fff9b9ed4a0) const at
MacabRecords.cxx:470
    frame #6: 0x000000015e825bde
libmacabdrv1.dylib`connectivity::macab::MacabRecords::initialize(this=0x00007f8ef82c4590)
at MacabRecords.cxx:175
    frame #7: 0x000000015e8301ff
libmacabdrv1.dylib`connectivity::macab::MacabAddressBook::getMacabRecords(this=0x00007f8ef814f0b0)
at MacabAddressBook.cxx:129
    frame #8: 0x000000015e813fb0
libmacabdrv1.dylib`connectivity::macab::MacabDatabaseMetaData::getTables(this=0x000000015d8e8928,
(null)=0x00007fff59436c48, (null)=0x00007fff59436c40,
(null)=0x00007fff59436c38, types=0x00007fff59436c70) at
MacabDatabaseMetaData.cxx:958
    frame #9: 0x000000015e814a5b libmacabdrv1.dylib`non-virtual thunk to
connectivity::macab::MacabDatabaseMetaData::getTables(this=0x000000015d8e8928,
(null)=0x00007fff59436c48, (null)=0x00007fff59436c40,
(null)=0x00007fff59436c38, types=0x00007fff59436c70) at
MacabDatabaseMetaData.cxx:0
    frame #10: 0x00000001580279da
libdbalo.dylib`dbaccess::OFilteredContainer::construct(this=0x00007f8ef5bcc3e0,
_rTableFilter=0x0000000156d17248, _rTableTypeFilter=0x0000000156d17250) at
FilteredContainer.cxx:347

I put the value to nullptr, I even tested value != nullptr in copy function, it
still crashes at the same location.

I'm stuck here.

Moreover, I noticed that a bunch of files in macab driver but not only in this
part (apple remote part too), used carbon.h.
Carbon is deprecated from MacOs 10.8 (the min MacOs version required for LO)
see
<a href="https://developer.apple.com/library/content/releasenotes/General/CarbonCoreDeprecations/index.html">https://developer.apple.com/library/content/releasenotes/General/CarbonCoreDeprecations/index.html</a>

It seems MacOs/ios specific parts need some rewriting. Perhaps an idea for next
year GSOC? But first perhaps notify this situation in ESC?</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>