]> granicus.if.org Git - php/commitdiff
MFH: const pointer was used in non-const context
authorAlexey Zakhlestin <indeyets@php.net>
Wed, 1 Apr 2009 11:32:14 +0000 (11:32 +0000)
committerAlexey Zakhlestin <indeyets@php.net>
Wed, 1 Apr 2009 11:32:14 +0000 (11:32 +0000)
ext/pdo_sqlite/sqlite_statement.c

index 63598901a0b38407e33b3c8e3e2142be03b167e2..eca6845d2579bcc2189a87a3a416d270ec50b654 100644 (file)
@@ -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