Programmieren - alles kontrollieren 4.937 Themen, 20.654 Beiträge

Segmentation fault

(Anonym) / 2 Antworten / Flachansicht Nickles

Hallo,
bin Anfaenger unter Linux und verstehe etwas nicht

Verwende Suse 7.0
GNU 2.95.2

Beispiel :
.....
char *xx;
int i;
xx = getenv("TMPDIR"); /* TMPDIR ist nicht gesetzt */
i = strlen(xx); /* geht an dieser Stelle kaputt */
......

Das Programm laeuft ebenfalls mit GNU 2.95.2 auf anderen UNIX-Systemen
z.B UnixWare,HPUX,Sun einwandfrei nur unter Suse nicht.
Vielleicht kann mir einer das Erklaeren oder weiss eine Loesung dafuer.
Danke im Voraus
bei Antwort benachrichtigen
thomas woelfer (Anonym) „Segmentation fault“
Optionen

getenv() liefert NULL wenn die variable nicht gesetzt ist. strlen() darf keinen null pointer bekommen. i.ow.: du musst den return-wert von getenv() testen bevor du damit weiterarbeitest.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen