From 4bccb4565d6829b772eb84c087723e60d8f4eae5 Mon Sep 17 00:00:00 2001 From: Alexey Zakhlestin Date: Wed, 1 Apr 2009 11:32:14 +0000 Subject: [PATCH] MFH: const pointer was used in non-const context --- ext/pdo_sqlite/sqlite_statement.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c index 63598901a0..eca6845d25 100644 --- a/ext/pdo_sqlite/sqlite_statement.c +++ b/ext/pdo_sqlite/sqlite_statement.c @@ -282,6 +282,8 @@ static int pdo_sqlite_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsi static int pdo_sqlite_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_value TSRMLS_DC) { pdo_sqlite_stmt *S = (pdo_sqlite_stmt*)stmt->driver_data; + const char *_str; + size_t _str_len; char *str; zval *flags; @@ -318,14 +320,20 @@ static int pdo_sqlite_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_v break; } - str = (char*)sqlite3_column_decltype(S->stmt, colno); - if (str) { + _str = sqlite3_column_decltype(S->stmt, colno); + _str_len = strlen(_str); + if (_str) { + str = emalloc(_str_len); + strcpy(str, _str); add_assoc_string(return_value, "sqlite:decl_type", str, 1); } #ifdef SQLITE_ENABLE_COLUMN_METADATA - str = sqlite3_column_table_name(S->stmt, colno); - if (str) { + _str = sqlite3_column_table_name(S->stmt, colno); + _str_len = strlen(_str); + if (_str) { + str = emalloc(_str_len); + strcpy(str, _str); add_assoc_string(return_value, "table", str, 1); } #endif -- 2.40.0