crypto/objects/obj_dat.c:260: error: UNINITIALIZED_VALUE
  The value read from ao[_] was never initialized.
Showing all 1 steps of the trace


crypto/objects/obj_dat.c:260:7: 
258.   err:
259.   	for (i=ADDED_DATA; i<=ADDED_NID; i++)
260. > 		if (ao[i] != NULL) Free(ao[i]);
261.   	if (o != NULL) Free(o);
262.   	return(NID_undef);

int OBJ_add_object(ASN1_OBJECT *obj)
	{
	ASN1_OBJECT *o;
	ADDED_OBJ *ao[4],*aop;
	int i;
	if (added == NULL)
		if (!init_added()) return(0);
	if ((o=OBJ_dup(obj)) == NULL) goto err;
	ao[ADDED_DATA]=NULL;
	ao[ADDED_SNAME]=NULL;
	ao[ADDED_LNAME]=NULL;
	ao[ADDED_NID]=NULL;
	ao[ADDED_NID]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));
	if ((o->length != 0) && (obj->data != NULL))
		ao[ADDED_DATA]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));
	if (o->sn != NULL)
		ao[ADDED_SNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));
	if (o->ln != NULL)
		ao[ADDED_LNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));
	for (i=ADDED_DATA; i<=ADDED_NID; i++)
		{
		if (ao[i] != NULL)
			{
			ao[i]->type=i;
			ao[i]->obj=o;
			aop=(ADDED_OBJ *)lh_insert(added,(char *)ao[i]);
			if (aop != NULL)
				Free(aop);
			}
		}
	o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|
			ASN1_OBJECT_FLAG_DYNAMIC_DATA);
	return(o->nid);
err:
	for (i=ADDED_DATA; i<=ADDED_NID; i++)
		if (ao[i] != NULL) Free(ao[i]);
	if (o != NULL) Free(o);
	return(NID_undef);
	}
['int OBJ_add_object(ASN1_OBJECT *obj)\n\t{\n\tASN1_OBJECT *o;\n\tADDED_OBJ *ao[4],*aop;\n\tint i;\n\tif (added == NULL)\n\t\tif (!init_added()) return(0);\n\tif ((o=OBJ_dup(obj)) == NULL) goto err;\n\tao[ADDED_DATA]=NULL;\n\tao[ADDED_SNAME]=NULL;\n\tao[ADDED_LNAME]=NULL;\n\tao[ADDED_NID]=NULL;\n\tao[ADDED_NID]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));\n\tif ((o->length != 0) && (obj->data != NULL))\n\t\tao[ADDED_DATA]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));\n\tif (o->sn != NULL)\n\t\tao[ADDED_SNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));\n\tif (o->ln != NULL)\n\t\tao[ADDED_LNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ));\n\tfor (i=ADDED_DATA; i<=ADDED_NID; i++)\n\t\t{\n\t\tif (ao[i] != NULL)\n\t\t\t{\n\t\t\tao[i]->type=i;\n\t\t\tao[i]->obj=o;\n\t\t\taop=(ADDED_OBJ *)lh_insert(added,(char *)ao[i]);\n\t\t\tif (aop != NULL)\n\t\t\t\tFree(aop);\n\t\t\t}\n\t\t}\n\to->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|\n\t\t\tASN1_OBJECT_FLAG_DYNAMIC_DATA);\n\treturn(o->nid);\nerr:\n\tfor (i=ADDED_DATA; i<=ADDED_NID; i++)\n\t\tif (ao[i] != NULL) Free(ao[i]);\n\tif (o != NULL) Free(o);\n\treturn(NID_undef);\n\t}']