µ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.hLIB_MEM_CFG_ALLOC_ENremoved. SetLIB_MEM_CFG_HEAP_SIZEto 0 to disable heap allocation features.LIB_MEM_CFG_HEAP_PADDING_ALIGNwas added to specify a default padding alignment for any buffer allocated from the heap.LIB_MEM_CFG_DBG_INFO_ENwas added and allows to track memory allocations.
New functions added to
lib_mem.h/lib_mem.cMem_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.hDEF_BIT_TOGGLE()DEF_BIT_FIELD_RD()DEF_BIT_FIELD_ENC()DEF_BIT_FIELD_WR()
Mem_PoolBlkGetAtIx()function removed.
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_strfunctions.
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.hinstead 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.