µC/LIB Release notes
Version 1.39.01
Release Date
April 30th, 2021
Bugfixes
- Fixed integer overflows in Memory Allocation functions (CVE-2021-26706)
Improvements
- Resolved static analysis warnings for pointer arithmetic in MEM_VAL_COPY macros.
Version 1.39.00
Release Date
February 28th, 2020
- Open-source Release
Version 1.38.05
Release Date
December 17th, 2019
Bugfixes
[698] Fixed implicit declaration of Mem_SegOverlapChkCritical() when argument checking is enabled and heap size is 0
[744] Fixed typecasting for DEF_BIT_CLR_XX macros
Version 1.38.04
Release Date
September 20th, 2019
Improvements
- [17341] Static analysis fixes
- "termination of else-if chain" warnings in lib_mem.c and lib_str.c
- "macro parameter without parentheses" warnings in lib_ascii.h, lib_def.h, and lib_mem.h
Version 1.38.03
Release Date
March 18th, 2019
Requirements
µC/CPU V1.29.01 or more recent
New features & Improvements
- (238) Added MEM_VAL_xxx_INT24U macros
API Changes
- N/A
Bug fixes
- (254) Removed unsupported ARM-Cortex-M0 port
- (568) Fixed issue where Mem_DynPoolBlkGet() would increment the block count, even on error
Version 1.38.02
Release date : 2014-06-03
Requirements
- µC/CPU V1.29.01 or more recent
New features & improvements
- N/A
API Changes
- N/A
Bug fixes
- Fixed statical analysis bugs.
Version 1.38.01
Release date : 2014-03-12
Requirements
- µC/CPU V1.29.01 or more recent
New features & improvements
- N/A
API Changes
- N/A
Bug fixes
- Fixed bug when allocating hardware buffers from the general-purpose heap.
- Added parenthesis to macros arguments in lib_def for compliance with MISRA.
Version 1.38.00
Release date : 2014-02-14
Requirements
- µC/CPU V1.29.01 or more recent
New features & improvements
- Memory segments: Added possibility to create multiple memory segments at run-time and to allocate memory blocks from them.
- Dynamic memory pools: Added new memory pools that can allocate blocks from a given memory segment and for which it is not necessary to specify a maximum number of blocks.
- New macros created to toggle bit and to read, write and encode values from a bit mask.
API Changes
- Changes to
lib_cfg.h
LIB_MEM_CFG_ALLOC_EN
removed. SetLIB_MEM_CFG_HEAP_SIZE
to 0 to disable heap allocation features.LIB_MEM_CFG_HEAP_PADDING_ALIGN
was added to specify a default padding alignment for any buffer allocated from the heap.LIB_MEM_CFG_DBG_INFO_EN
was added and allows to track memory allocations.
- New functions added to
lib_mem.h
/lib_mem.c
Mem_SegCreate()
Mem_SegClr()
Mem_SegAlloc()
Mem_SegAllocExt()
Mem_SegAllocHW()
Mem_SegRemSizeGet()
Mem_OutputUsage()
Mem_DynPoolCreate()
Mem_DynPoolCreateHW()
Mem_DynPoolBlkGet()
Mem_DynPoolBlkFree()
Mem_DynPoolBlkNbrAvailGet()
- New macros added to
lib_def.h
DEF_BIT_TOGGLE()
DEF_BIT_FIELD_RD()
DEF_BIT_FIELD_ENC()
DEF_BIT_FIELD_WR()
Mem_PoolBlkGetAtIx()
function removed.µC/FS versions prior to 4.07.00 are not compatible with this version of µC/LIB.
Bug fixes
- N/A
Deprecated features
Memory heap allocation and static memory pool features are now deprecated and will be removed in a future version of µC/LIB.
This includes the following functions:
Mem_HeapAlloc()
Mem_HeapGetSizeRem()
Mem_PoolCreate()
Mem_PoolClr()
Mem_PoolBlkGet()
Mem_PoolBlkFree()
Mem_PoolBlkGetNbrAvail()
Heap allocation features are replaced by Memory Segment allocation features and Memory Pool features are replaced by the Dynamic Memory Pool features.
Version 1.37.02
Release date : 2013-10-01
Requirements
- µC/CPU V1.29.01 or more recent
New features & improvements
- N/A
API Changes
- N/A
Bug fixes
- [LIB-11] - Remove explicit typecasts in
DEF_BIT_CLR()
andDEF_BIT_SET()
macros that can be problematic when compiler optimization is enabled. - [LIB-12] - Fix compiler warnings in some
lib_str
functions.
Version 1.37.01
Release date : 2012-12-17
Requirements
- µC/CPU V1.29.01 or more recent
New features & improvements
- Improved argument checking for
Mem_HeapGetSizeRem()
andMem_PoolBlkGetUsedAtIx()
.
API Changes
- Configuration for the module must now be done in file
lib_cfg.h
instead ofapp_cfg.h
.
Bug fixes
- Corrected a possible misaligned copy in
Mem_Move()
.
Previous versions
Click here to download the release notes for previous versions of µC/LIB.