Index: src/expr.c =================================================================== --- src/expr.c 2009-09-08 12:16:11.000000000 -0700 +++ src/expr.c 2009-09-23 16:58:47.000000000 -0700 @@ -804,7 +804,9 @@ }else{ int nSize = exprStructSize(p); memcpy(zAlloc, p, nSize); - memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize); + if( EXPR_FULLSIZE>nSize ){ + memset(&zAlloc[nSize], 0, EXPR_FULLSIZE-nSize); + } } /* Set the EP_Reduced, EP_TokenOnly, and EP_Static flags appropriately. */ Index: src/func.c =================================================================== --- src/func.c 2009-09-04 13:37:42.000000000 -0700 +++ src/func.c 2009-09-14 18:18:18.000000000 -0700 @@ -1020,7 +1020,7 @@ } } if( zCharSet ){ - sqlite3_free(azChar); + sqlite3_free((void*)azChar); } } sqlite3_result_text(context, (char*)zIn, nIn, SQLITE_TRANSIENT);