crypto/err/err.c:780: error: NULL_DEREFERENCE
  pointer `es` last assigned on line 778 could be null and is dereferenced at line 780, column 12.
Showing all 14 steps of the trace


crypto/err/err.c:774:1: start of procedure ERR_pop_to_mark()
772.   }
773.   
774. > int ERR_pop_to_mark(void)
775.   {
776.       ERR_STATE *es;

crypto/err/err.c:778:5: 
776.       ERR_STATE *es;
777.   
778. >     es = ERR_get_state();
779.   
780.       while (es->bottom != es->top

crypto/err/err.c:665:1: start of procedure ERR_get_state()
  663.   }
  664.   
  665. > ERR_STATE *ERR_get_state(void)
  666.   {
  667.       ERR_STATE *state = NULL;

crypto/err/err.c:667:5: 
  665.   ERR_STATE *ERR_get_state(void)
  666.   {
  667. >     ERR_STATE *state = NULL;
  668.   
  669.       if (!RUN_ONCE(&err_init, err_do_init))

crypto/err/err.c:669:10: 
  667.       ERR_STATE *state = NULL;
  668.   
  669. >     if (!RUN_ONCE(&err_init, err_do_init))
  670.           return NULL;
  671.   

crypto/threads_pthread.c:104:1: start of procedure CRYPTO_THREAD_run_once()
    102.   }
    103.   
    104. > int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
    105.   {
    106.       if (pthread_once(once, init) != 0)

crypto/threads_pthread.c:106:9: Taking true branch
    104.   int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
    105.   {
    106.       if (pthread_once(once, init) != 0)
                   ^
    107.           return 0;
    108.   

crypto/threads_pthread.c:107:9: 
    105.   {
    106.       if (pthread_once(once, init) != 0)
    107. >         return 0;
    108.   
    109.       return 1;

crypto/threads_pthread.c:110:1: return from a call to CRYPTO_THREAD_run_once
    108.   
    109.       return 1;
    110. > }
    111.   
    112.   int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))

crypto/err/err.c:669:10: Condition is false
  667.       ERR_STATE *state = NULL;
  668.   
  669.       if (!RUN_ONCE(&err_init, err_do_init))
                  ^
  670.           return NULL;
  671.   

crypto/err/err.c:669:10: Taking true branch
  667.       ERR_STATE *state = NULL;
  668.   
  669.       if (!RUN_ONCE(&err_init, err_do_init))
                  ^
  670.           return NULL;
  671.   

crypto/err/err.c:670:9: 
  668.   
  669.       if (!RUN_ONCE(&err_init, err_do_init))
  670. >         return NULL;
  671.   
  672.       state = CRYPTO_THREAD_get_local(&err_thread_local);

crypto/err/err.c:690:1: return from a call to ERR_get_state
  688.   
  689.       return state;
  690. > }
  691.   
  692.   int ERR_get_next_error_library(void)

crypto/err/err.c:780:12: 
778.       es = ERR_get_state();
779.   
780. >     while (es->bottom != es->top
781.              && (es->err_flags[es->top] & ERR_FLAG_MARK) == 0) {
782.           err_clear(es, es->top);
