kasjer opened a new pull request, #1737:
URL: https://github.com/apache/mynewt-nimble/pull/1737

   This should fix compilation error when -O2 optimization is enabled. GCC 
incorrectly detects problem.
   This change adds asserts that convinces GCC that pre-condition will not 
result in accessing memory out-of-bounds.
   
   This also changes one condition that also contributes to make GCC convinced 
that pre-condition are met.
   
   Error: In function 'ble_store_config_delete_obj',
       inlined from 'ble_store_config_delete_cccd' at 
repos/apache-mynewt-nimble/nimble/host/store/config/src/ble_store_config.c:380:10,
       inlined from 'ble_store_config_delete' at 
repos/apache-mynewt-nimble/nimble/host/store/config/src/ble_store_config.c:542:14:
   
repos/apache-mynewt-nimble/nimble/host/store/config/src/ble_store_config.c:193:9:
 error: 'memmove' offset [16, 31] is out of the bounds [0, 16] of object 
'ble_store_config_cccds' with type 'struct ble_store_value_cccd[1]' 
[-Werror=array-bounds]
     193 |         memmove(dst, src, move_count * value_size);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   repos/apache-mynewt-nimble/nimble/host/store/config/src/ble_store_config.c: 
In function 'ble_store_config_delete':
   
repos/apache-mynewt-nimble/nimble/host/store/config/src/ble_store_config.c:45:5:
 note: 'ble_store_config_cccds' declared here
      45 |     ble_store_config_cccds[MYNEWT_VAL(BLE_STORE_MAX_CCCDS)];
   
   This should solve problem that #1693 tries to solve


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to