Gast
#877801
hallo,
was passiert wenn ich free(pointer) aufrufe, aber der Wert in
Wirklichkeit kein richtiger Pointer ist sondern ein zufälliger Wert im
Speicher.
Oder anders gefragt wie kann ich ein Element eines struct mit 0
initialiesieren damit das Problem erst garnicht auftaucht
typedef struct{
uint8_t preamble;
uint8_t startcode1;
uint8_t startcode2;
uint8_t len;
uint8_t *data; // <- sollte immer 0 sein
uint8_t postamble;
} frame;
void free_frame(frame *frame){
if(frame->data)
free(frame->data);
}
main(){
frame testframe; // jetzt hat testframe.data einen zufälligen wert :(
framefree(&testframe)
}
ich arbeite mit dem AVR-GCC.
Gruß