Ma ktoś pomysł dlaczego open w linijce 271 czasami powoduje, że zmienna old mapowana w linijce 267 zaczyna wskazywać z kosmos? W 270tej jeszcze wskazuje na coś sensownego.
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/setup/joinpasswd.c?annotate=1.10 #0 0x00007ffff7b0718a in memcmp () from /lib64/libc.so.6 #1 0x00000000004009f2 in exist ( id=0x7ffff7ff9000 "root::0:0:root:/root:/bin/sh\nbin:*:1:1:bin:/bin:/bin/false\ndaemon:*:2:2:daemon:/sbin:/bin/false\nadm:*:3:4:adm:/var/account:/bin/false\nlp:*:4:7:lp:/var/spool/lpd:/bin/false\nsync:*:5:0:sync:/sbin:/bin/s"..., id_len=4, ptr=0x7ffff7ff8000 <Address 0x7ffff7ff8000 out of bounds>, sz=849) at joinpasswd.c:120 #2 0x0000000000400e9b in join (old_name=0x40112d "/etc/passwd", new_name=0x40111a "/etc/passwd.rpmnew", backup_name=0x40110a "/etc/passwd.old") at joinpasswd.c:303 #3 0x0000000000400f29 in main () at joinpasswd.c:328 (gdb) frame 0 #0 0x00007ffff7b0718a in memcmp () from /lib64/libc.so.6 (gdb) frame 1 #1 0x00000000004009f2 in exist ( id=0x7ffff7ff9000 "root::0:0:root:/root:/bin/sh\nbin:*:1:1:bin:/bin:/bin/false\ndaemon:*:2:2:daemon:/sbin:/bin/false\nadm:*:3:4:adm:/var/account:/bin/false\nlp:*:4:7:lp:/var/spool/lpd:/bin/false\nsync:*:5:0:sync:/sbin:/bin/s"..., id_len=4, ptr=0x7ffff7ff8000 <Address 0x7ffff7ff8000 out of bounds>, sz=849) at joinpasswd.c:120 120 if (sz - i > id_len && memcmp(id, ptr + i, id_len + 1) == 0) (gdb) print ptr $7 = 0x7ffff7ff8000 <Address 0x7ffff7ff8000 out of bounds> -- Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/ _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
