Heap danneggiato

di il
1 risposte

Heap danneggiato

Non riesco a capire perché nella riga della malloc mi da questo errore "Eccezione non gestita in 0x7712F8CD (ntdll.dll) in Project2.exe: 0xC0000374: Heap danneggiato (parametri: 0x7716B960)."

relazione* inserisciInOrdine(relazione* l, char el[30]) 
{ 
	/* Inserimento in testa alla lista */
	relazione* t, * puntCorrente, * puntPrecedente; 
	puntPrecedente = NULL;
	 
	for (puntCorrente = l; puntCorrente != NULL && strcmp(el,puntCorrente->nome)>0; puntCorrente = puntCorrente->prox) 
	{ 
		puntPrecedente = puntCorrente; 
	}
	t = malloc(sizeof(struct relazione));
	strcpy(t->nome,el);
	t->prox = puntCorrente; 
	if (puntPrecedente != NULL)
	{ 
		/* Inserimento interno alla lista */ 
		puntPrecedente->prox = t; 
		return l; 
	} 
	else
	{
		return t;
	}/* Inserimento in testa alla lista */
}

1 Risposte

  • Re: Heap danneggiato

    Il for che precede la malloc() "incriminata" potrebbe essere la causa dell'errore; puntCorrente è un puntatore, lo inizializzi a 1 e poi lo usi nella successiva strcmp() ...
Devi accedere o registrarti per scrivere nel forum
1 risposte