µ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. Set LIB_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() and DEF_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() and Mem_PoolBlkGetUsedAtIx().

API Changes

  • Configuration for the module must now be done in file lib_cfg.h instead of app_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.