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);