Hallo,
ich ekomme durch einen nicht nachvollziehbaren Fehler eine Data Abort
Exceoption, auf einem at91sam7x256, geschmissen. Warum kann ich nicht
sagen, daher poste ich einfach mal den relevanten Code.
1 | void ecbMode(char* key)
|
2 | {
|
3 | ...
|
4 | char expandedKeys[240] = { 0 };
|
5 | ...
|
6 | aesEncrypt(..., key, expandedKeys);
|
7 | ...
|
8 | }
|
9 |
|
10 |
|
11 | void aesEncrypt(..., char* key, char* expandedKey)
|
12 | {
|
13 | char roundKey[16] = { 0 };
|
14 | expandKey(expandedKey, expandedKeySize, cipherKey, keySize);
|
15 | ...
|
16 | roundKey[0] = expandedKey[0]; // DATA ABORT EXCEPTION
|
17 | ...
|
18 | }
|
Nachdem expandKey(); durchgeführt wurde(darin wird einfach der 16 Byte
lange Schlüssel auf maximal 240 Byte vergrößert), möchte ich gerne
einzelne Werte aus diesem Array anderen Variablen zuweisen. Aber genau
in diesem Augenblick knallt es immer. Wenn ich in Keil das Programm
debuge, sehe ich auch, dass in expandedKeys die Werte genau so drin
stehen, wie sie sollen. Aber wenn ich nun einen Wert daraus lese,
bekomme ich die Exception geworfen. Ich hab keine Ahnung warum. Ich
stehe voll auf dem Schlauch. Hat irgendjemand ne Ahnung was ich hier
falsch mache?