diff options
| author | Alexey Zakhlestin <indeyets@php.net> | 2009-04-01 11:31:54 +0000 |
|---|---|---|
| committer | Alexey Zakhlestin <indeyets@php.net> | 2009-04-01 11:31:54 +0000 |
| commit | bcfc63849094c78ef9e0f609f5a3b7c5fa2d5dd3 (patch) | |
| tree | e11642bfc3801c90e1d9035699edd17378d6f1c6 /ext/pdo_sqlite/sqlite_statement.c | |
| parent | fa7559e4fa67089a6fdd06669526312180d76514 (diff) | |
| download | php-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.c | 16 |
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 |
