invalid Read of size 4
-
Hallo,
ich versuche gerade mein(e) Programm(e) mit valgrind zu verifizieren.
jetzt habe ich die meldung "invalid read of size 4" bei folgendem code:int PrefixTest(IP *eins, IP *zwei, unsigned int offset, unsigned int len) { unsigned int i, *LayerEins, *LayerZwei, objektEins; unsigned int objektZwei, lenEnde; LayerEins = LayerZwei = NULL; LayerEins = (unsigned int*)eins->IP_Array; LayerZwei = (unsigned int*)zwei->IP_Array; objektEins = *LayerEins; objektZwei = *LayerZwei; /* betreffende Zeile */
eins->IP_Array ist ein Array von 4 unsigned chars (also bytes) das ist in ein unsigned integer casten moechte, damit ich da ein paar bitoperationen leichter durchführen kann. Jetzt verstehe ich nicht so ganz, warum er meint, das sei ein invalid read (in der betreffenden Zeile) ... kann mir das jemand erklären, und evtl. sagen, wie es richtig geht?
danke
-
die ersten paar werte des arrays 'zwei->IP_Array' sind wohl keine gültige adresse ('n cast nach int* richt nicht)