From d0cad6201265a3ae59dedac8d4b480fd62c332d5 Mon Sep 17 00:00:00 2001 From: Kenichi Ishigaki Date: Mon, 3 Sep 2012 04:24:16 +0000 Subject: [PATCH] check SvPOK before using SvPV --- dbdimp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dbdimp.c b/dbdimp.c index 3e3d673..9624c7a 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -1420,11 +1420,11 @@ HV* sqlite_db_table_column_metadata(pTHX_ SV *dbh, SV *dbname, SV *tablename, SV HV *metadata = newHV(); /* dbname may be NULL but (table|column)name may not be NULL */ - if (!tablename) { + if (!tablename || !SvPOK(tablename)) { sqlite_error(dbh, -2, "table_column_metadata requires a table name"); return FALSE; } - if (!columnname) { + if (!columnname || !SvPOK(columnname)) { sqlite_error(dbh, -2, "table_column_metadata requires a column name"); return FALSE; } @@ -1432,7 +1432,7 @@ HV* sqlite_db_table_column_metadata(pTHX_ SV *dbh, SV *dbname, SV *tablename, SV #ifdef SQLITE_ENABLE_COLUMN_METADATA int rc = sqlite3_table_column_metadata( imp_dbh->db, - dbname ? SvPV_nolen(dbname) : NULL, + (dbname && SvPOK(dbname)) ? SvPV_nolen(dbname) : NULL, SvPV_nolen(tablename), SvPV_nolen(columnname), &datatype, &collseq, ¬null, &primary, &autoinc);