1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-22 17:34:18 +03:00

tests: avoid seclabeltest crash

Commit a56c347 introduced a use of random numbers into seclabel
handling, but failed to initialize the random number generator
in the testsuite.  Also, fail with usual status, not 255.

* tests/seclabeltest.c (main): Initialize randomness.
This commit is contained in:
Eric Blake 2012-07-20 14:44:54 -06:00
parent be7e61a67e
commit a22a36e8fe

View File

@ -6,6 +6,7 @@
#include <string.h>
#include <errno.h>
#include "security/security_driver.h"
#include "virrandom.h"
int
main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
@ -13,10 +14,14 @@ main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
virSecurityManagerPtr mgr;
const char *doi, *model;
if (virThreadInitialize() < 0 ||
virRandomInitialize(time(NULL) ^ getpid()))
exit(EXIT_FAILURE);
mgr = virSecurityManagerNew(NULL, "QEMU", false, true, false);
if (mgr == NULL) {
fprintf (stderr, "Failed to start security driver");
exit (-1);
exit(EXIT_FAILURE);
}
model = virSecurityManagerGetModel(mgr);
@ -24,7 +29,7 @@ main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
fprintf (stderr, "Failed to copy secModel model: %s",
strerror (errno));
exit (-1);
exit(EXIT_FAILURE);
}
doi = virSecurityManagerGetDOI(mgr);
@ -32,7 +37,7 @@ main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
fprintf (stderr, "Failed to copy secModel DOI: %s",
strerror (errno));
exit (-1);
exit(EXIT_FAILURE);
}
virSecurityManagerFree(mgr);