Re: Need help with stack smash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hardware watchpoint 2: *(0xbfffcb5c)

Old value = -987698962
New value = -987699200
DFANIgetann (filename=0x8125d10 "tdfanF.hdf", tag=<value optimized out>,
ref=<value optimized out>, ann=0xbfffcb3e "Object label #1: sds ",
maxlen=31, type=0) at dfan.c:1103
1103 Lastref = annref; /* remember ref last accessed */
Current language: auto; currently c
(gdb) list
1098 HCLOSE_GOTO_ERROR(file_id,DFE_READERROR,FAIL);
1099 }
1100 if (type == DFAN_LABEL)
1101 ann[annlen] = '\0'; /* terminate string properly */
1102
1103 Lastref = annref; /* remember ref last accessed */
(gdb) print &ann[annlen]
$7 = (uint8 *) 0xbfffcb5c ""

So that's where I get clobbered. Need to figure out why, but at least I
solved the watch location question.

Because this is a trap which happens AFTER the damage has been done,
then the location identified (line 1103) is the NEXT point of
execution.  The damage was done one [dynamic] statement prior,
in this case line 1101: ann[annlen] = '\0';
This can be corroborated by looking at the watch values in hex:
(gdb) set output-radix 16
(gdb) p -987698962
$1 = 0xc520e8ee
(gdb) p -987699200
$2 = 0xc520e800   ### low byte set to '\0'

--

--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux