summaryrefslogtreecommitdiff
path: root/ext/pdo_sqlite/sqlite_statement.c
diff options
context:
space:
mode:
authorAlexey Zakhlestin <indeyets@php.net>2009-04-01 11:31:54 +0000
committerAlexey Zakhlestin <indeyets@php.net>2009-04-01 11:31:54 +0000
commitbcfc63849094c78ef9e0f609f5a3b7c5fa2d5dd3 (patch)
treee11642bfc3801c90e1d9035699edd17378d6f1c6 /ext/pdo_sqlite/sqlite_statement.c
parentfa7559e4fa67089a6fdd06669526312180d76514 (diff)
downloadphp-git-bcfc63849094c78ef9e0f609f5a3b7c5fa2d5dd3.tar.gz
const pointer was used in non-const context
Diffstat (limited to 'ext/pdo_sqlite/sqlite_statement.c')
-rw-r--r--ext/pdo_sqlite/sqlite_statement.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c
index 18aaddce9d..88cef6a8e1 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