src/pcrlock/pcrlock.c: Handle empty pcrlock.d directories
authorArnaud Patard <arnaud.patard@collabora.com>
Mon, 8 Jul 2024 13:39:14 +0000 (15:39 +0200)
committerLuca Boccassi <bluca@debian.org>
Thu, 15 Aug 2024 13:04:41 +0000 (14:04 +0100)
commit74f830e048beab8b48c4a25dcb8666a861981aec
tree9cff11b461aa63dbba0a4c4cbef2cb4554c7ff61
parent4ba2973515173b4f3c66534af06f3e7b3bbf5cd2
src/pcrlock/pcrlock.c: Handle empty pcrlock.d directories

Running the following commands:

  # mkdir -p /var/lib/pcrlock.d/123-empty.pcrlock.d
  # /usr/lib/systemd/systemd-pcrlock predict --pcr=1+2+3+4+5+16

Will result in:

...
Floating point exception

Running the following commands:
  # mkdir -p /var/lib/pcrlock.d/123-empty.pcrlock.d
  # /usr/lib/systemd/systemd-pcrlock make-policy --pcr=1+2+3+4+5+16

Will result to this (partial) log:
...
Predicted future PCRs in 133us.
[]
...
Written policy digest 0000000000000000000000000000000000000000000000000000000000000000 to NV index 0x1921da6
...

So, add missing checks to handle gracefully cases where there's no variant
inside the component.

Signed-off-by: Arnaud Patard <arnaud.patard@collabora.com>
(cherry picked from commit e7a93e75219b22424bab95fe45982f5eef21d581)
src/pcrlock/pcrlock.c
test/units/TEST-70-TPM2.pcrlock.sh