X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-main.git;a=blobdiff_plain;f=src%2Fwgtpkg-digsig.c;h=d190d23258307ea70dbd463881c7c547f11a2d62;hp=d8ec58eb382005f58be5feaabb9903be39be30c8;hb=7ea1070ee471141f58e9e4c03df5c95bbcef907d;hpb=0083ad3751cd2b088b5c5d0dea727671ea2a3cca diff --git a/src/wgtpkg-digsig.c b/src/wgtpkg-digsig.c index d8ec58e..d190d23 100644 --- a/src/wgtpkg-digsig.c +++ b/src/wgtpkg-digsig.c @@ -308,7 +308,7 @@ int verify_digsig(struct filedesc *fdesc) int res, fd; assert ((fdesc->flags & flag_signature) != 0); - DEBUG("-- checking file %s",fdesc->name); + DEBUG("-- checking file %s", fdesc->name); /* reset the flags */ file_clear_flags(); @@ -343,13 +343,23 @@ int check_all_signatures(int allow_none) struct filedesc *fdesc; n = signature_count(); - if (n == 0 && !allow_none) { - ERROR("no signature found"); - return -1; + if (n == 0) { + if (!allow_none) { + ERROR("no signature found"); + return -1; + } + return 0; } + + rc = xmlsec_init(); + if (rc < 0) { + ERROR("can't check signature"); + return rc; + } + rc = 0; - for (i = n ; i-- > 0 ; ) { - fdesc = signature_of_index(i); + for (i = n ; i ; ) { + fdesc = signature_of_index(--i); irc = verify_digsig(fdesc); if (irc < 0) rc = irc;