ssl/ssltest.c:2009: error: UNINITIALIZED_VALUE
  The value read from letters[_] was never initialized.
Showing all 1 steps of the trace


ssl/ssltest.c:2009:8: 
2007.   			"  Initial proxy rights = ");
2008.   		for(i = 0; i < 26; i++)
2009. > 			if (letters[i])
2010.   				{
2011.   				fprintf(stderr, "%c", i + 'A');

static int MS_CALLBACK app_verify_callback(X509_STORE_CTX *ctx, void *arg)
	{
	int ok=1;
	struct app_verify_arg *cb_arg = arg;
	unsigned int letters[26];
	if (cb_arg->app_verify)
		{
		char *s = NULL,buf[256];
		fprintf(stderr, "In app_verify_callback, allowing cert. ");
		fprintf(stderr, "Arg is: %s\n", cb_arg->string);
		fprintf(stderr, "Finished printing do we have a context? 0x%x a cert? 0x%x\n",
			(unsigned int)ctx, (unsigned int)ctx->cert);
		if (ctx->cert)
			s=X509_NAME_oneline(X509_get_subject_name(ctx->cert),buf,256);
		if (s != NULL)
			{
			fprintf(stderr,"cert depth=%d %s\n",ctx->error_depth,buf);
			}
		return(1);
		}
	if (cb_arg->proxy_auth)
		{
		int found_any = 0, i;
		char *sp;
		for(i = 0; i < 26; i++)
			letters[i] = 0;
		for(sp = cb_arg->proxy_auth; *sp; sp++)
			{
			char c = *sp;
			if (isascii(c) && isalpha(c))
				{
				if (islower(c))
					c = toupper(c);
				letters[c - 'A'] = 1;
				}
			}
		fprintf(stderr,
			"  Initial proxy rights = ");
		for(i = 0; i < 26; i++)
			if (letters[i])
				{
				fprintf(stderr, "%c", i + 'A');
				found_any = 1;
				}
		if (!found_any)
			fprintf(stderr, "none");
		fprintf(stderr, "\n");
		X509_STORE_CTX_set_ex_data(ctx,
			get_proxy_auth_ex_data_idx(),letters);
		}
#ifndef OPENSSL_NO_X509_VERIFY
# ifdef OPENSSL_FIPS
	if(s->version == TLS1_VERSION)
		FIPS_allow_md5(1);
# endif
	ok = X509_verify_cert(ctx);
# ifdef OPENSSL_FIPS
	if(s->version == TLS1_VERSION)
		FIPS_allow_md5(0);
# endif
#endif
	if (cb_arg->proxy_auth)
		{
		if (ok)
			{
			const char *cond_end = NULL;
			ok = process_proxy_cond(letters,
				cb_arg->proxy_cond, &cond_end);
			if (ok < 0)
				EXIT(3);
			if (*cond_end)
				{
				fprintf(stderr, "Stopped processing condition before it's end.\n");
				ok = 0;
				}
			if (!ok)
				fprintf(stderr, "Proxy rights check with condition '%s' proved invalid\n",
					cb_arg->proxy_cond);
			else
				fprintf(stderr, "Proxy rights check with condition '%s' proved valid\n",
					cb_arg->proxy_cond);
			}
		}
	return(ok);
	}
['static int MS_CALLBACK app_verify_callback(X509_STORE_CTX *ctx, void *arg)\n\t{\n\tint ok=1;\n\tstruct app_verify_arg *cb_arg = arg;\n\tunsigned int letters[26];\n\tif (cb_arg->app_verify)\n\t\t{\n\t\tchar *s = NULL,buf[256];\n\t\tfprintf(stderr, "In app_verify_callback, allowing cert. ");\n\t\tfprintf(stderr, "Arg is: %s\\n", cb_arg->string);\n\t\tfprintf(stderr, "Finished printing do we have a context? 0x%x a cert? 0x%x\\n",\n\t\t\t(unsigned int)ctx, (unsigned int)ctx->cert);\n\t\tif (ctx->cert)\n\t\t\ts=X509_NAME_oneline(X509_get_subject_name(ctx->cert),buf,256);\n\t\tif (s != NULL)\n\t\t\t{\n\t\t\tfprintf(stderr,"cert depth=%d %s\\n",ctx->error_depth,buf);\n\t\t\t}\n\t\treturn(1);\n\t\t}\n\tif (cb_arg->proxy_auth)\n\t\t{\n\t\tint found_any = 0, i;\n\t\tchar *sp;\n\t\tfor(i = 0; i < 26; i++)\n\t\t\tletters[i] = 0;\n\t\tfor(sp = cb_arg->proxy_auth; *sp; sp++)\n\t\t\t{\n\t\t\tchar c = *sp;\n\t\t\tif (isascii(c) && isalpha(c))\n\t\t\t\t{\n\t\t\t\tif (islower(c))\n\t\t\t\t\tc = toupper(c);\n\t\t\t\tletters[c - \'A\'] = 1;\n\t\t\t\t}\n\t\t\t}\n\t\tfprintf(stderr,\n\t\t\t"  Initial proxy rights = ");\n\t\tfor(i = 0; i < 26; i++)\n\t\t\tif (letters[i])\n\t\t\t\t{\n\t\t\t\tfprintf(stderr, "%c", i + \'A\');\n\t\t\t\tfound_any = 1;\n\t\t\t\t}\n\t\tif (!found_any)\n\t\t\tfprintf(stderr, "none");\n\t\tfprintf(stderr, "\\n");\n\t\tX509_STORE_CTX_set_ex_data(ctx,\n\t\t\tget_proxy_auth_ex_data_idx(),letters);\n\t\t}\n#ifndef OPENSSL_NO_X509_VERIFY\n# ifdef OPENSSL_FIPS\n\tif(s->version == TLS1_VERSION)\n\t\tFIPS_allow_md5(1);\n# endif\n\tok = X509_verify_cert(ctx);\n# ifdef OPENSSL_FIPS\n\tif(s->version == TLS1_VERSION)\n\t\tFIPS_allow_md5(0);\n# endif\n#endif\n\tif (cb_arg->proxy_auth)\n\t\t{\n\t\tif (ok)\n\t\t\t{\n\t\t\tconst char *cond_end = NULL;\n\t\t\tok = process_proxy_cond(letters,\n\t\t\t\tcb_arg->proxy_cond, &cond_end);\n\t\t\tif (ok < 0)\n\t\t\t\tEXIT(3);\n\t\t\tif (*cond_end)\n\t\t\t\t{\n\t\t\t\tfprintf(stderr, "Stopped processing condition before it\'s end.\\n");\n\t\t\t\tok = 0;\n\t\t\t\t}\n\t\t\tif (!ok)\n\t\t\t\tfprintf(stderr, "Proxy rights check with condition \'%s\' proved invalid\\n",\n\t\t\t\t\tcb_arg->proxy_cond);\n\t\t\telse\n\t\t\t\tfprintf(stderr, "Proxy rights check with condition \'%s\' proved valid\\n",\n\t\t\t\t\tcb_arg->proxy_cond);\n\t\t\t}\n\t\t}\n\treturn(ok);\n\t}']