Hi,
I have downloaded the source code of SQLite Version 3.15.2 which is a big
file called sqlite3.c. I statically analyzed the code and found a potential
error. Could you please check it? Thank you.
In file ‘sqlite3.c’, function ‘sqlite3PagerOpenWal’, the piece of code is
shown as follow.
53659: SQLITE_PRIVATE int sqlite3PagerOpenWal(
53660: Pager *pPager, /* Pager object */
53661: int *pbOpen /* OUT: Set to true if call is a
no-op */
53662: ) {
…
53683: *pbOpen = 1;
If NULL is passed to the second parameter of function
‘sqlite3PagerOpenWal’, LINE 53683 will dereference a NULL pointer and cause
a Segmentation fault. For example, in LINE 49625 ‘rc =
sqlite3PagerOpenWal(pPager, 0);’ the second argument is 0. I think ‘pPager’
may be from untrusted source and it may cause LINE 53662 dereference a NULL
pointer.
Looking forward to your reply.
Best,
Zhendong
--
Zhendong Wu
Ph.D. Candidate
School of Computer
National University of Defense Technology
Changsha, Hunan, China 410073
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users