subsys/random: Add _ASSERT() test on returned device_get_binding
If there is a build setup problem where a device driver has not been setup for the entropy driver then the call to device_get_binding() will return a NULL value and the code will continue to use this NULL value. The result is a hard fault later in code execution. Note that CONFIG_ASSERT is by default off so one has to turn this configuration on to catch this problem. Signed-off-by: David Leach <david.leach@nxp.com>
This commit is contained in:
parent
ed3ede06e1
commit
09ce2e218f
1 changed files with 4 additions and 0 deletions
|
@ -21,6 +21,10 @@ u32_t sys_rand32_get(void)
|
|||
* if the whole operation isn't atomic.
|
||||
*/
|
||||
dev = device_get_binding(CONFIG_ENTROPY_NAME);
|
||||
__ASSERT((dev != NULL),
|
||||
"Device driver for %s (CONFIG_ENTROPY_NAME) not found. "
|
||||
"Check your build configuration!",
|
||||
CONFIG_ENTROPY_NAME);
|
||||
atomic_set(&entropy_driver, (atomic_t)(uintptr_t)dev);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue