When the config store is powered down area_0_head is freed, but area_0_len is not set to 0. This causes when cfstore_realloc_ex is called, since on the first allocation it appears that the config store size is decreasing, and therefore the data is not initialized. Since the data is uninitiated various fields such as the reference can have invalid values. On GCC_ARM built with heap stats enabled this manifests as a crash due to an invalid reference count. This patch fixes this problem by setting area_0_len to 0 when the data is freed. |
||
|---|---|---|
| .github | ||
| TESTS | ||
| cmsis | ||
| docs | ||
| drivers | ||
| events | ||
| features | ||
| hal | ||
| platform | ||
| rtos | ||
| targets | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .pylintrc | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| DOXYGEN_FRONTPAGE.md | ||
| Jenkinsfile | ||
| LICENSE | ||
| README.md | ||
| mbed.h | ||
| requirements.txt | ||
README.md
ARM mbed OS
mbed OS is an open-source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller.
mbed OS accelerates the process of creating a connected product by providing a platform operating system that includes robust security foundations, standards based communication capabilities, built-in cloud management services, and drivers for sensors, I/O devices and connectivity. mbed OS is built as a modular, configurable software stack so that you can readily customize it to the device you're developing for, and reduce memory requirements by excluding unnecessary software components.
Current release
Our current release series is mbed OS 5.1:
Getting Started for Developers
We have a getting started guide for developers using mbed OS in applications:
Getting Started for Contributors
We have a getting started guide for contributors working on mbed OS:
- Have a look in the docs directory