Hi,

I'm the maintainer of RSQLite, the R language binding for SQLite.
Recently, CRAN (the common R archive network) has started running all
R packages with USBAN. This reveals a problem in sqlite.c
(http://www.stats.ox.ac.uk/pub/bdr/memtests/UBSAN-gcc/RSQLite/tests/testthat.Rout)

> library(RSQLite)
> con <- dbConnect(SQLite(), dbname = tempfile())
sqlite/sqlite3.c:63931:5: runtime error: null pointer passed as
argument 2, which is declared to never be null
sqlite/sqlite3.c:63932:5: runtime error: null pointer passed as
argument 1, which is declared to never be null

The block of code that refers to is:

  if( p->azVar ){
    p->nzVar = pParse->nzVar;
    memcpy(p->azVar, pParse->azVar, p->nzVar*sizeof(p->azVar[0]));
    memset(pParse->azVar, 0, pParse->nzVar*sizeof(pParse->azVar[0]));
  }

So maybe the check should be on (pParse->azVar) ?

(as of version 3.8.6)

Hadley


-- 
http://had.co.nz/
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to