I have sqlite3 3.6.4 and the program I've written gets in trouble with
valgrind.

 

Valgrind reports:

 

==29506== 128 errors in context 7 of 7:

==29506== Syscall param write(buf) points to uninitialised byte(s)

==29506==    at 0x41354FB: (within /targets/DIABLO_X86/lib/libc-2.5.so)

==29506==    by 0x402A562: sqlite3OsWrite (sqlite3.c:12200)

==29506==    by 0x4044F5E: writeJournalHdr (sqlite3.c:28956)

==29506==    by 0x40450C2: pager_open_journal (sqlite3.c:31263)

==29506==    by 0x4045281: sqlite3PagerBegin (sqlite3.c:31335)

==29506==    by 0x404B4FB: sqlite3BtreeBeginTrans (sqlite3.c:35486)

==29506==    by 0x4073931: sqlite3Step (sqlite3.c:48410)

==29506==    by 0x406558B: sqlite3_step (sqlite3.c:45084)

==29506==    by 0x80492C4: sql_helper_execute (sql_helper.c:39)

==29506==    by 0x8048DD8: create_meal (main.c:242)

==29506==    by 0x80490AB: create_random_meals_for_year (main.c:338)

==29506==    by 0x80491DB: main (main.c:383)

==29506==  Address 0x41ce07c is 36 bytes inside a block of size 1,032
alloc'd

==29506==    at 0x40207C4: malloc (vg_replace_malloc.c:207)

==29506==    by 0x402A92A: sqlite3MemMalloc (sqlite3.c:12547)

==29506==    by 0x402B1A8: mallocWithAlarm (sqlite3.c:16221)

==29506==    by 0x402B288: sqlite3Malloc (sqlite3.c:16244)

==29506==    by 0x402F3A3: pcacheMalloc (sqlite3.c:27408)

==29506==    by 0x402F435: sqlite3PageMalloc (sqlite3.c:27421)

==29506==    by 0x4037FBC: sqlite3BtreeFactory (sqlite3.c:30125)

==29506==    by 0x407968B: openDatabase (sqlite3.c:84530)

==29506==    by 0x80488E6: database_open_event_database (main.c:50)

==29506==    by 0x8049139: main (main.c:367)

 

Is this a known problem or not a problem at all? It's worrysome because
I seem to have wierd stack-problems in my code, which make themselves
known by outputting random values in printf and sprintf. These are the
only problems valgrind report that have any source in my own code so it
seems reasonable to assume that there is some kind of problem here. 

 

In the code I'm writing the SQL statement with vsprintf from varargs and
then running that through sqlite3_exec or sqlite3_prepare_v2. Is there
some incompatibility with stdargs and sqlite3?

 

Any help is greatly appreciated.

Kind regards,

Daniel

_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to