Changes

498 bytes added ,  17:44, 18 April 2023
no edit summary
Line 17: Line 17:     
=== [[SSL_services|ssl]] ===
 
=== [[SSL_services|ssl]] ===
Only 1 func was updated, L_128dc4:
+
Only 1 function was updated at offset +0x128dc4 as follows:
* Prior to the last two func calls, the following was added: <code>if (ptr) free(ptr);</code> (eventually calls nn::mem::StandardAllocator::Free)
+
void nn::ssl::detail::ClientCertEntry::~ClientCertEntry(nn::ssl::detail::ClientCertEntry *this) {
 +
  if (this.IsDeviceCert) {
 +
    SECItem item;
 +
    item.type = 10;
 +
    item.data = 0;
 +
    item.len = 0;
 +
    if (!PK11_ReadAttribute(&this.slot, this.id, 0x120LL, 0, &item)) {
 +
      RSA_RemoveFromBlindingList(&item);
 +
      // Start of new code
 +
      if (item.data) {
 +
        operator delete[](item.data);
 +
      }
 +
      // End of new code
 +
    }
 +
  }
 +
  CERT_DestroyCertificate((CERTCertificateStr *)this.cert);
 +
  SECKEY_DestroyPrivateKey((SECKEYPrivateKeyStr *)this.key);
 +
  this.cert = 0;
 +
  this.key = 0;
 +
}
    
==See Also==
 
==See Also==