espressif/common-hal/_bleio/Characteristic.c: handle empty initial value #9676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Characteristic
was usingself->current_value == NULL
to indicate that theCharacteristic
was deinit-ed. However,the
current_value
storage in aCharacteristic
can be the NULL pointer if the Characteristic is initialized with an initial value ofNone
.Change to using
self->handle = BLEIO_HANDLE_INVALID
as the deinit flag (similar to whatnordic
does), and handle an empty initial value more carefully. For instance, don't try to allocate a zero-length chunk of heap.Tested with the HID test program in #9669. I did keyboard HID to an iPhone and it works.