All callsites of digest_alloc(_by_algo) check for NULL pointer before proceeding except for machine_id_set_globalvar(). Fix this to fail more gracefully instead of the crash I ran into. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- common/machine_id.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/machine_id.c b/common/machine_id.c index a530fdeb1da8..189e74bd6796 100644 --- a/common/machine_id.c +++ b/common/machine_id.c @@ -30,14 +30,15 @@ static int machine_id_set_globalvar(void) unsigned char machine_id[SHA1_DIGEST_SIZE]; char hex_machine_id[MACHINE_ID_LENGTH]; char *env_machine_id; - int ret; + int ret = -EOPNOTSUPP; /* nothing to do if no hashable information provided */ if (!__machine_id_hashable) return 0; digest = digest_alloc_by_algo(HASH_ALGO_SHA1); - ret = digest_init(digest); + if (digest) + ret = digest_init(digest); if (ret) goto out; -- 2.30.2