diff options
author | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-06-22 14:49:27 +0100 |
---|---|---|
committer | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-07-05 16:13:26 +0100 |
commit | f16db56a9ed219cc061210f392c75b014e34b411 (patch) | |
tree | 7629d7875e2b10bcc5c111cd182705d3e2a459d9 | |
parent | 50f7101a49d39243cca5942e3a2eb92ab460bd14 (diff) |
Fix `cert_create` tool for Segmentation fault
With the introduction of commit `96103d5a`, the Certificate
Generation tool is not able to generate FWU certificate and
while doing so it does segmentation fault.
This happens because it is now required to pass non-volatile
counter values to the `cert_create` tool from the command line
for creating the trusted firmware certificates.
But in case of creating FWU certificate these counter values are not
being passed to the tool and as a consequence the `cert_create` tool
try to use the NULL argument and errors out with Segmentation fault.
This patch fixes this issue by providing a check before using the
command line argument passed in the case of `EXT_TYPE_NVCOUNTER`
certificate extension.
Change-Id: Ie17d0c1502b52aaa8500f3659c2da2448ab0347a
-rw-r--r-- | tools/cert_create/src/main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/cert_create/src/main.c b/tools/cert_create/src/main.c index c87d9888..c58f41de 100644 --- a/tools/cert_create/src/main.c +++ b/tools/cert_create/src/main.c @@ -428,9 +428,11 @@ int main(int argc, char *argv[]) */ switch (ext->type) { case EXT_TYPE_NVCOUNTER: - nvctr = atoi(ext->arg); - CHECK_NULL(cert_ext, ext_new_nvcounter(ext_nid, + if (ext->arg) { + nvctr = atoi(ext->arg); + CHECK_NULL(cert_ext, ext_new_nvcounter(ext_nid, EXT_CRIT, nvctr)); + } break; case EXT_TYPE_HASH: if (ext->arg == NULL) { |