Segfault durch malloc?



  • Hi,

    ich rufe folgende Funktion auf:

    double* neuer_array(int N) {
    	printf("neuer_array(%i)\n", N);
    	double* V;
    	V = malloc(N*sizeof(double));
    	printf("return\n");
    	return V;
    }
    

    als Ausgabe bekomme ich:

    neuer_array(64)
    Segmentation fault (core dumped)
    

    Wie kann das sein? Ich alloziere doch nur einen normalen Array, da kann es doch keinen Segfault geben...

    Danke!
    Max



  • Hast du eventuell schon vor diesem Aufruf deinen Heap pulverisiert? (Puffer-Überlauf oder ähnliches)



  • da hilft nur nen debug..
    ist aber wahrscheinlich wirklich nen Speicherbereich, der irgendeinen anderen überschreibt..
    Deshalb nutz ich inzwischen smart pointer und c++ 😉


Anmelden zum Antworten