1
mirror of https://github.com/flipperdevices/flipperzero-firmware.git synced 2025-12-12 20:59:50 +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:
David Coles
2025-02-11 08:01:12 -08:00
committed by GitHub
parent a2b81e4e37
commit 8059959624
2 changed files with 2 additions and 1 deletions

View File

@@ -80,6 +80,7 @@ bool furi_record_exists(const char* name) {
void furi_record_create(const char* name, void* data) {
furi_check(furi_record);
furi_check(name);
furi_check(data);
furi_record_lock();

View File

@@ -27,7 +27,7 @@ bool furi_record_exists(const char* name);
/** Create record
*
* @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
* thread.
*/