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 the correctness? 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
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to