Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IM]Fix leaked readClient in onFabricRemoved call #37199

Merged

Conversation

yunhanw-google
Copy link
Contributor

@yunhanw-google yunhanw-google commented Jan 24, 2025

Summary

When ReadClient::Close is called from onFabricRemove in InteractionModel Engine, readClient is destoryed and becomes not valid so that readClient->GetNextClient() will be use-after-free.

Fixes #36920

Testing

Add unit test to cover this, where we create multiple subscriptions, then we remove fabric,
Without this change, the unit test would fail since the problematic loop code in onFabricRemoved cannot continue and numActiveReadClient cannot decrease to 0 after removing fabric, with this change, the numActiveReadClient can decrease to 0.

Copy link

Review changes with  SemanticDiff

Copy link

github-actions bot commented Jan 24, 2025

PR #37199: Size comparison from 74593dc to e332076

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 74593dc4 e332076 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093530 1093536 6 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650142 650148 6 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828050 828056 6 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056602 1056608 6 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888036 888042 6 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971022 971028 6 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837944 837944 0 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823364 823364 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770580 770580 0 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754824 754824 0 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538405 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572269 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679353 679353 0 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699205 699205 0 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699205 699205 0 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656133 656141 8 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615737 615737 0 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635365 635373 8 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635365 635373 8 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635209 635209 0 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654917 654917 0 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654917 654917 0 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611653 611661 8 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631513 631521 8 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631513 631521 8 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936168 936168 0 0.0
RAM 159904 159904 0 0.0
BRD4338a FLASH 729572 729564 -8 -0.0
RAM 234768 234768 0 0.0
window-app BRD4187C FLASH 1029128 1029120 -8 -0.0
RAM 128040 128040 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1576974 1576976 2 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116092 0 0.0
FLASH 1544918 1544918 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2707793 2707801 8 0.0
RAM 132800 132800 0 0.0
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5973848 5973856 8 0.0
RAM 531616 531616 0 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5322534 5322542 8 0.0
RAM 242728 242728 0 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4680722 4680730 8 0.0
RAM 221464 221464 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 13041760 13041768 8 0.0
RAM 596178 596178 0 0.0
chip-tool-ipv6only arm64 unknown 21776 21776 0 0.0
FLASH 11118640 11118656 16 0.0
RAM 647920 647920 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11387841 11387849 8 0.0
RAM 596522 596522 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4505320 4505328 8 0.0
RAM 208648 208648 0 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5611557 5611573 16 0.0
RAM 483520 483520 0 0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5623505 5623505 0 0.0
RAM 231744 231744 0 0.0
lock-app debug unknown 5416 5416 0 0.0
FLASH 4729772 4729780 8 0.0
RAM 207712 207712 0 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4358348 4358356 8 0.0
RAM 201352 201352 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4495852 4495860 8 0.0
RAM 205936 205936 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3003933 3003949 16 0.0
RAM 160504 160504 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4097952 4097952 0 0.0
RAM 246136 246136 0 0.0
tv-app debug unknown 5744 5744 0 0.0
FLASH 5951189 5951205 16 0.0
RAM 606920 606920 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11268573 11268573 0 0.0
RAM 710864 710864 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 913600 913600 0 0.0
RAM 143168 143168 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888464 888464 0 0.0
RAM 141355 141355 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 848640 848640 0 0.0
RAM 142080 142080 0 0.0
nxp contact k32w0+release FLASH 584240 584240 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599568 599568 0 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610668 610668 0 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685136 685136 0 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748600 748600 0 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646260 1646260 0 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553036 1553036 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468700 1468700 0 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466748 1466748 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661928 661928 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619724 619724 0 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482552 0 0.0
RAM 144672 144672 0 0.0
telink bridge-app tlsr9258a FLASH 681300 681302 2 0.0
RAM 91084 91084 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621330 621332 2 0.0
RAM 31484 31484 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770184 770182 -2 -0.0
RAM 49344 49344 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 774600 774602 2 0.0
RAM 99648 99648 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708502 708504 2 0.0
RAM 73376 73376 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625610 625612 2 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812982 812984 2 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1751452 1751456 4 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11024 11024 0 0.0
FLASH 18211390 18211390 0 0.0
RAM 7953724 7953724 0 0.0

@yunhanw-google yunhanw-google force-pushed the feature/fix_leak_read_client branch from e332076 to 1fff786 Compare January 25, 2025 00:53
@yunhanw-google yunhanw-google marked this pull request as draft January 25, 2025 00:53
Copy link

github-actions bot commented Jan 25, 2025

PR #37199: Size comparison from fd216ec to 1fff786

Full report (44 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section fd216ec 1fff786 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093530 1093542 12 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650142 650154 12 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828050 828062 12 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056602 1056614 12 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888036 888048 12 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971022 971034 12 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837944 837944 0 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823364 823364 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770580 770596 16 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754824 754840 16 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538405 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572269 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679353 679361 8 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656133 656141 8 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615737 615745 8 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635365 635373 8 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635365 635373 8 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635209 635217 8 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611653 611661 8 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631513 631521 8 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631513 631521 8 0.0
RAM 71252 71252 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 913600 913612 12 0.0
RAM 143168 143168 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888464 888464 0 0.0
RAM 141355 141355 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 848640 848640 0 0.0
RAM 142080 142080 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646260 1646260 0 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553036 1553036 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468700 1468700 0 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466748 1466748 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661928 661936 8 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619724 619740 16 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482560 8 0.0
RAM 144672 144672 0 0.0
telink bridge-app tlsr9258a FLASH 681300 681312 12 0.0
RAM 91084 91084 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621330 621344 14 0.0
RAM 31484 31484 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770184 770182 -2 -0.0
RAM 49344 49344 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 774600 774612 12 0.0
RAM 99648 99648 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708502 708516 14 0.0
RAM 73376 73376 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625610 625622 12 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812982 812994 12 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1751452 1751468 16 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11024 11024 0 0.0
FLASH 18211390 18211438 48 0.0
RAM 7953724 7953744 20 0.0

When ReadClient::Close is called from onFabricRemove in InteractionModel Engine, readClient is destoryed and becomes not valid so that readClient->GetNextClient() will be use-after-free.
@yunhanw-google yunhanw-google force-pushed the feature/fix_leak_read_client branch from 1fff786 to 225475b Compare January 25, 2025 01:49
Copy link

github-actions bot commented Jan 25, 2025

PR #37199: Size comparison from fd216ec to 17dbffa

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section fd216ec 17dbffa change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093530 1093546 16 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650142 650158 16 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828050 828066 16 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056602 1056618 16 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888036 888052 16 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971022 971038 16 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837944 837952 8 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823364 823372 8 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770580 770596 16 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754824 754840 16 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538413 8 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572277 8 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679353 679361 8 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656133 656149 16 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615737 615753 16 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635365 635389 24 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635365 635389 24 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635209 635217 8 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611653 611669 16 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936168 936200 32 0.0
RAM 159904 159904 0 0.0
BRD4338a FLASH 729572 729564 -8 -0.0
RAM 234768 234768 0 0.0
window-app BRD4187C FLASH 1029128 1029120 -8 -0.0
RAM 128040 128040 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1576974 1577002 28 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116092 0 0.0
FLASH 1544918 1544934 16 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2707793 2707835 42 0.0
RAM 132800 132800 0 0.0
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5973848 5973932 84 0.0
RAM 531616 531616 0 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5322534 5322576 42 0.0
RAM 242728 242728 0 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4680722 4680764 42 0.0
RAM 221464 221464 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 13041760 13041844 84 0.0
RAM 596178 596178 0 0.0
chip-tool-ipv6only arm64 unknown 21776 21776 0 0.0
FLASH 11118640 11118688 48 0.0
RAM 647920 647920 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11387841 11387925 84 0.0
RAM 596522 596522 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4505320 4505362 42 0.0
RAM 208648 208648 0 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5611557 5611653 96 0.0
RAM 483520 483520 0 0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5623505 5623521 16 0.0
RAM 231744 231744 0 0.0
lock-app debug unknown 5416 5416 0 0.0
FLASH 4729772 4729814 42 0.0
RAM 207712 207712 0 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4358348 4358390 42 0.0
RAM 201352 201352 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4495852 4495894 42 0.0
RAM 205936 205936 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3003933 3004013 80 0.0
RAM 160504 160504 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4097952 4097984 32 0.0
RAM 246136 246136 0 0.0
tv-app debug unknown 5744 5744 0 0.0
FLASH 5951189 5951269 80 0.0
RAM 606920 606920 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11268573 11268653 80 0.0
RAM 710864 710864 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 913600 913624 24 0.0
RAM 143168 143168 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888464 888472 8 0.0
RAM 141355 141355 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 848640 848644 4 0.0
RAM 142080 142080 0 0.0
nxp contact k32w0+release FLASH 584240 584240 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599568 599584 16 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610668 610684 16 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685136 685152 16 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748600 748616 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646260 1646276 16 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553036 1553036 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468700 1468716 16 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466748 1466748 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661928 661944 16 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619724 619740 16 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482568 16 0.0
RAM 144672 144672 0 0.0
telink bridge-app tlsr9258a FLASH 681300 681316 16 0.0
RAM 91084 91084 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621330 621348 18 0.0
RAM 31484 31484 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770184 770186 2 0.0
RAM 49344 49344 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 774600 774616 16 0.0
RAM 99648 99648 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708502 708532 30 0.0
RAM 73376 73376 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625610 625626 16 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812982 812998 16 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1751452 1751496 44 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11024 11024 0 0.0
FLASH 18211390 18211710 320 0.0
RAM 7953724 7953872 148 0.0

src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/InteractionModelEngine.h Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Jan 25, 2025

PR #37199: Size comparison from fd216ec to 3db18a8

Full report (56 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section fd216ec 3db18a8 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093530 1093546 16 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650142 650158 16 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828050 828066 16 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056602 1056618 16 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888036 888052 16 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971022 971038 16 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837944 837952 8 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823364 823372 8 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770580 770596 16 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754824 754840 16 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538413 8 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572277 8 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679353 679361 8 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656133 656149 16 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615737 615745 8 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635365 635381 16 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635365 635381 16 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635209 635217 8 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611653 611669 16 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936168 936200 32 0.0
RAM 159904 159904 0 0.0
BRD4338a FLASH 729572 729564 -8 -0.0
RAM 234768 234768 0 0.0
window-app BRD4187C FLASH 1029128 1029120 -8 -0.0
RAM 128040 128040 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1576974 1576990 16 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116092 0 0.0
FLASH 1544918 1544926 8 0.0
IRAM 117039 117039 0 0.0
linux chip-tool-ipv6only arm64 unknown 21776 21776 0 0.0
FLASH 11118640 11118672 32 0.0
RAM 647920 647920 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4097952 4097984 32 0.0
RAM 246136 246136 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 913600 913616 16 0.0
RAM 143168 143168 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888464 888468 4 0.0
RAM 141355 141355 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 848640 848644 4 0.0
RAM 142080 142080 0 0.0
nxp contact k32w0+release FLASH 584240 584240 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599568 599584 16 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610668 610684 16 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685136 685152 16 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748600 748616 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646260 1646260 0 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553036 1553036 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468700 1468716 16 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466748 1466748 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661928 661944 16 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619724 619740 16 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482568 16 0.0
RAM 144672 144672 0 0.0
telink bridge-app tlsr9258a FLASH 681300 681316 16 0.0
RAM 91084 91084 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621330 621348 18 0.0
RAM 31484 31484 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770184 770186 2 0.0
RAM 49344 49344 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 774600 774616 16 0.0
RAM 99648 99648 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708502 708520 18 0.0
RAM 73376 73376 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625610 625626 16 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812982 812998 16 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1751452 1751476 24 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11024 11024 0 0.0
FLASH 18211390 18211518 128 0.0
RAM 7953724 7953776 52 0.0

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Copy link

github-actions bot commented Jan 25, 2025

PR #37199: Size comparison from fd216ec to 76f432a

Full report (3 builds for cc32xx, stm32)
platform target config section fd216ec 76f432a change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538413 8 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572277 8 0.0
RAM 205344 205344 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482568 16 0.0
RAM 144672 144672 0 0.0

--Remove unnecessary chip::Test and chip::app and app namespace

Restyled by clang-format
@yunhanw-google yunhanw-google force-pushed the feature/fix_leak_read_client branch from 733c26f to c099f16 Compare January 25, 2025 06:10
@yunhanw-google yunhanw-google enabled auto-merge (squash) January 27, 2025 18:17
Copy link

github-actions bot commented Jan 27, 2025

PR #37199: Size comparison from 5dee683 to 9d451c5

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 5dee683 9d451c5 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093530 1093546 16 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650142 650158 16 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828050 828066 16 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056602 1056618 16 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888036 888052 16 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971022 971038 16 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837944 837952 8 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823364 823372 8 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770580 770596 16 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754824 754840 16 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538405 538413 8 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572269 572277 8 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679353 679361 8 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699205 699213 8 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656133 656149 16 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615737 615745 8 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635365 635381 16 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635365 635381 16 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635209 635217 8 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654917 654925 8 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611653 611669 16 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631513 631529 16 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936168 936200 32 0.0
RAM 159904 159904 0 0.0
BRD4338a FLASH 729572 729572 0 0.0
RAM 234768 234768 0 0.0
window-app BRD4187C FLASH 1029128 1029120 -8 -0.0
RAM 128040 128040 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1576974 1576990 16 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116092 0 0.0
FLASH 1544918 1544926 8 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2707793 2707835 42 0.0
RAM 132800 132800 0 0.0
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5973848 5973890 42 0.0
RAM 531616 531616 0 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5322534 5322576 42 0.0
RAM 242728 242728 0 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4680722 4680764 42 0.0
RAM 221464 221464 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 13041760 13041802 42 0.0
RAM 596178 596178 0 0.0
chip-tool-ipv6only arm64 unknown 21776 21776 0 0.0
FLASH 11118640 11118672 32 0.0
RAM 647920 647920 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11387841 11387883 42 0.0
RAM 596522 596522 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4505320 4505362 42 0.0
RAM 208648 208648 0 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5611557 5611605 48 0.0
RAM 483520 483520 0 0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5623505 5623521 16 0.0
RAM 231744 231744 0 0.0
lock-app debug unknown 5416 5416 0 0.0
FLASH 4729772 4729814 42 0.0
RAM 207712 207712 0 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4358348 4358390 42 0.0
RAM 201352 201352 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4495852 4495894 42 0.0
RAM 205936 205936 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3003933 3003981 48 0.0
RAM 160504 160504 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4097952 4097984 32 0.0
RAM 246136 246136 0 0.0
tv-app debug unknown 5744 5744 0 0.0
FLASH 5951189 5951237 48 0.0
RAM 606920 606920 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11268573 11268605 32 0.0
RAM 710864 710864 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 913600 913616 16 0.0
RAM 143168 143168 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888464 888468 4 0.0
RAM 141355 141355 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 848640 848644 4 0.0
RAM 142080 142080 0 0.0
nxp contact k32w0+release FLASH 584240 584240 0 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599568 599584 16 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610668 610684 16 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685136 685152 16 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748600 748616 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646260 1646260 0 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553036 1553036 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468700 1468716 16 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466748 1466748 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661928 661944 16 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619724 619740 16 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482552 482568 16 0.0
RAM 144672 144672 0 0.0
telink bridge-app tlsr9258a FLASH 681300 681316 16 0.0
RAM 91084 91084 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621330 621348 18 0.0
RAM 31484 31484 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770184 770186 2 0.0
RAM 49344 49344 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 774600 774616 16 0.0
RAM 99648 99648 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708502 708520 18 0.0
RAM 73376 73376 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625610 625626 16 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812982 812998 16 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1751452 1751476 24 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11024 11024 0 0.0
FLASH 18211390 18211518 128 0.0
RAM 7953724 7953776 52 0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] Heap-Use-After-Free (UAF) in tv-casting-app when deleting a fabric after casting
4 participants