mirror of
https://github.com/flipperdevices/flipperzero-firmware.git
synced 2025-12-12 04:41:26 +04:00
Ensure that furi_record_create is passed a non-NULL data pointer (#4078)
* Ensure that `furi_record_create` is passed a non-NULL data pointer It's currently possible to use `furi_record_create` to create and initialize a `FuriRecordData` pointing to NULL. This means its potentially possible for `furi_record_open` to return a NULL pointer which besides not being particularly useful means the Rust wrapper for `Record` can't assume that the returned record is always a non-NULL value. If by chance this is the intended behaviour, then we can just have the Rust wrapper do a `furi_check` itself, but it seems like it would be better to eliminate this potential corner-case at the source. * Furi: update furi_record_create documentation Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -80,6 +80,7 @@ bool furi_record_exists(const char* name) {
|
|||||||
void furi_record_create(const char* name, void* data) {
|
void furi_record_create(const char* name, void* data) {
|
||||||
furi_check(furi_record);
|
furi_check(furi_record);
|
||||||
furi_check(name);
|
furi_check(name);
|
||||||
|
furi_check(data);
|
||||||
|
|
||||||
furi_record_lock();
|
furi_record_lock();
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ bool furi_record_exists(const char* name);
|
|||||||
/** Create record
|
/** Create record
|
||||||
*
|
*
|
||||||
* @param name record name
|
* @param name record name
|
||||||
* @param data data pointer
|
* @param data data pointer (not NULL)
|
||||||
* @note Thread safe. Create and destroy must be executed from the same
|
* @note Thread safe. Create and destroy must be executed from the same
|
||||||
* thread.
|
* thread.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user