Fix an out-of-bounds array reference in the generated column logic.
Problem discovered by valgrind.

FossilOrigin-Name: a0ab42f779b9a96f4e43879210dfaba8fa593de77fc0ec0e2e6f116d9301ea59
diff --git a/src/insert.c b/src/insert.c
index 73f6bdb..482a2af 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -202,10 +202,11 @@
 }
 
 /* This walker callback will compute the union of colFlags flags for all
-** references columns in a CHECK constraint or generated column expression.
+** referenced columns in a CHECK constraint or generated column expression.
 */
 static int exprColumnFlagUnion(Walker *pWalker, Expr *pExpr){
-  if( pExpr->op==TK_COLUMN ){
+  if( pExpr->op==TK_COLUMN && pExpr->iColumn>=0 ){
+    assert( pExpr->iColumn < pWalker->u.pTab->nCol );
     pWalker->eCode |= pWalker->u.pTab->aCol[pExpr->iColumn].colFlags;
   }
   return WRC_Continue;