openssl version: *1.0.1e*

During reboot, the following code is used to set up the tpm engine:

   ENGINE_load_builtin_engines();
    e = ENGINE_by_id("tpm");
    if(!e) {
        /* the engine isn't available */
        ERR("ENGINE_by_id failed.");
        ERR_print_errors_fp(stderr);
        return CU_ERROR;
    }

    if (!ENGINE_init(e)) {
        int err_num = ERR_get_error();
        char buf[128] = {0};

*        ERR("ENGINE_init failed.");*        printf("ENGINE_init error:
%s\n", ERR_error_string(err_num, buf));
        return CU_ERROR;
    }

What happens is that ENGINE_init(e) fails sometimes (not always) with the
following error:

*ENGINE_init error: error:00000000:lib(0):func(0):reason(0)*

There is no race condition in this case as far as I can tell.

Is this a bug in this version of openSSL?

Thanks,
Joe

Reply via email to