From 112faf37a5e9a184c16d9cb1e075ad7297c05215 Mon Sep 17 00:00:00 2001 From: Gregg Date: Sun, 14 Jul 2024 17:15:35 -0500 Subject: [PATCH] Added operator delete whenever operator new is overridden Addresses compiler warning (and fixes potential underlying issue) --- src/HomeSpan.h | 5 +++++ src/SRP.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/HomeSpan.h b/src/HomeSpan.h index 1b95977..d708218 100644 --- a/src/HomeSpan.h +++ b/src/HomeSpan.h @@ -438,6 +438,8 @@ class SpanAccessory{ public: void *operator new(size_t size){return(HS_MALLOC(size));} // override new operator to use PSRAM when available + void operator delete(void *p){free(p);} + SpanAccessory(uint32_t aid=0); // constructor }; @@ -470,6 +472,8 @@ class SpanService{ public: void *operator new(size_t size){return(HS_MALLOC(size));} // override new operator to use PSRAM when available + void operator delete(void *p){free(p);} + SpanService(const char *type, const char *hapName, boolean isCustom=false); // constructor SpanService *setPrimary(); // sets the Service Type to be primary and returns pointer to self SpanService *setHidden(); // sets the Service Type to be hidden and returns pointer to self @@ -656,6 +660,7 @@ class SpanCharacteristic{ SpanCharacteristic(HapChar *hapChar, boolean isCustom=false); // SpanCharacteristic constructor void *operator new(size_t size){return(HS_MALLOC(size));} // override new operator to use PSRAM when available + void operator delete(void *p){free(p);} template T getVal(){return(uvGet(value));} // gets the value for numeric-based Characteristics char *getString(){return(getStringGeneric(value));} // gets the value for string-based Characteristics diff --git a/src/SRP.h b/src/SRP.h index 24aece6..c47cc22 100644 --- a/src/SRP.h +++ b/src/SRP.h @@ -90,6 +90,7 @@ struct SRP6A { ~SRP6A(); void *operator new(size_t size){return(HS_MALLOC(size));} // override new operator to use PSRAM when available + void operator delete(void *p){free(p);} void createVerifyCode(const char *setupCode, Verification *vData); // generates random s and computes v; writes back resulting Verification Data void createPublicKey(const Verification *vData, uint8_t *publicKey); // generates random b and computes k and B; writes back resulting Accessory Public Key