Ich habe einen Fehler in der letzten Zeile, in Nullstring, eine Funktion, um alles Zeichenfolge Einstellung ‚\ 0‘ mit einem einfachen für()C - Schreibzugriffsverletzung
void function (unsigned char inputArray[], size_t inputSize)
{
size_t cellSize;
if (inputSize <= 256)
cellSize = 1;
else
cellSize = ceil(inputSize/2/256) + 1;
// Sub Box
unsigned char subBox[255];
for (size_t line = 0; line < 255; line++)
subBox[line] = 0;
generate_SubBox(subBox, key);
// Sub Box
// Sub Box reverse
unsigned char subBox_Inverse[255];
for (size_t line = 0; line < 255; line++)
subBox_Inverse[line] = 0;
generate_SubBox_Inverse(subBox_Inverse, subBox, key);
// Sub Box reverse
unsigned char* inputArray2 = NULL;
inputArray2 = malloc(sizeof(unsigned char)* inputSize/2);
verifyMalloc(inputArray2);
nullString(inputArray2, inputSize/2);
unsigned char string_temp[3] = { 0 };
size_t w = 0;
for (size_t i = 0; i < inputSize/2; i++)
{
string_temp[0] = inputArray[w];
string_temp[1] = inputArray[w + 1];
inputArray2[i] = strtoll(string_temp, NULL, 16);
w += 2;
}
}
I versuchte Zeile pro Zeile neutralisierte Alle Befehle kommen vor nullString(), indem sie kommentiert werden, aber es ändert nichts.
Wenn ich Nullstring neutralisieren, kommt der Fehler nach, bei
inputArray2[i] = strtoll(...)
Hoffe, dass Sie die Antwort haben :)
Vielen Dank im Voraus!
EDIT: Hier Nullstring:
void nullString(unsigned char input[], size_t length)
{
for (size_t x = 0; x < length; x++)
input[x] = '\0';
}
ich alle Anweisungen vor dem Nullstring kommentiert, der Fehler immer noch da.
ich Variablen auch überprüft und sie sehen alle wie gut
EDIT 2: verifyMalloc:
void verifyMalloc(int* pointer)
{
if (pointer == NULL)
{
perror("Erreur");
Sleep(15000);
exit(0);
}
}
Wahrscheinlich ist Ihr Problem in 'nullString()' oder woanders. Würde es Ihnen etwas ausmachen, diese Funktion zu zeigen? – harper
Ideen, um den Fehler zu isolieren: 1) deaktivieren Sie den gesamten Code, der nicht mit 'inputArray2' verwandt ist, durch Auskommentieren. Wenn der Fehler weg ist, suchen Sie nach der letzten Änderung. 2) Verwenden Sie einen Debugger und überprüfen Sie die Variablen kurz vor dem Ort, an dem die Ausnahme auftritt. – harper
Wie kann ich nullString buchen? Muss ich meinen ersten Beitrag bearbeiten? –