[vz-dev] 1wirevz Segmentation fault
Thorben Thuermer
r00t at constancy.org
Thu Sep 5 03:24:07 CEST 2013
On Wed, 04 Sep 2013 23:32:02 +0200 Andreas Brus <andreas at brus.name> wrote:
> Die Variable geht schon innerhalb der Schleife beim dritten Durchlauf
> kaputt:
das scheint dann ja dem zu kurzen array zu entsprechen.
die daten fuer den dritten sensor werden halt ueber das ende des array
hinaus in nicht dafuer reservierten speicher geschrieben.
hast du die vorgeschlagene aenderung (das array erstmal einfach auf
vier elemente vergroessern) ausprobiert?
- Thorben
On Wed, 04 Sep 2013 23:32:02 +0200 Andreas Brus <andreas at brus.name> wrote:
> (gdb) b ds1820init
> und dort vzpath pruefen,
>
> noch ok.
> > und dann zumindest nochmal nach ds1820init()
> > (gdb) b main.c:358
> Da isses schon kaputt:
> Breakpoint 2, ds1820read (sensorid=0x12cdd "10-000802558178") at
> 1wirevz.c:358
> 358 t = strndup ( temp_buffer +29, 5 ) ;
die zeilennummern unserer versionen passen ueberhaupt nicht zusammen,
und der breakpoint ist an der falschen stelle (andere funktion) gelandet,
sollte aber egal sein.
> (gdb) print vzpath
> $2 = 0x65383362 <Address 0x65383362 out of bounds>
>
> Die Variable geht schon innerhalb der Schleife beim dritten Durchlauf
> kaputt:
>
> Breakpoint 2, ds1820init () at 1wirevz.c:286
> warning: Source file is more recent than executable.
> 286 fclose ( fp );
> (gdb) print vzpath
> $2 = 0x152e0 "vz/middleware.php"
> (gdb) c
> Continuing.
>
> Breakpoint 2, ds1820init () at 1wirevz.c:286
> 286 fclose ( fp );
> (gdb) print vzpath
> $3 = 0x152e0 "vz/middleware.php"
> (gdb) c
> Continuing.
>
> Breakpoint 2, ds1820init () at 1wirevz.c:286
> 286 fclose ( fp );
> (gdb) print vzpath
> $4 = 0x65383362 <Address 0x65383362 out of bounds>
>
More information about the volkszaehler-dev
mailing list