Skip to content

Commit 2846fc1

Browse files
committed
fix int<->long mess causing lots of segfaults on x86_64
1 parent 6894772 commit 2846fc1

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

ext/sqlite3/php_sqlite3_structs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ struct php_sqlite3_bound_param {
4141
long param_number;
4242
char *name;
4343
int name_len;
44-
int type;
44+
long type;
4545

4646
zval *parameter;
4747
};

ext/sqlite3/sqlite3.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ PHP_METHOD(sqlite3, open)
7272
zval *object = getThis();
7373
char *filename, *encryption_key, *fullpath;
7474
zend_uchar filename_type;
75-
int filename_len, encryption_key_len, flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
75+
int filename_len, encryption_key_len;
76+
long flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
7677
db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC);
7778

7879
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t|lS", &filename, &filename_len, &filename_type, &flags, &encryption_key, &encryption_key_len)) {
@@ -536,7 +537,8 @@ PHP_METHOD(sqlite3, querySingle)
536537
php_sqlite3_db_object *db_obj;
537538
zval *object = getThis();
538539
char *sql, *errtext = NULL;
539-
int sql_len, return_code, entire_row = 0;
540+
int sql_len, return_code;
541+
zend_bool entire_row = 0;
540542
sqlite3_stmt *stmt;
541543
db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC);
542544

@@ -1145,7 +1147,7 @@ PHP_METHOD(sqlite3_stmt, execute)
11451147
break;
11461148

11471149
default:
1148-
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown parameter type: %d for parameter %ld", param->type, param->param_number);
1150+
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown parameter type: %ld for parameter %ld", param->type, param->param_number);
11491151
RETURN_FALSE;
11501152
}
11511153
zend_hash_move_forward(stmt_obj->bound_params);
@@ -1216,7 +1218,7 @@ PHP_METHOD(sqlite3_result, columnName)
12161218
{
12171219
php_sqlite3_result *result_obj;
12181220
zval *object = getThis();
1219-
int column = 0;
1221+
long column = 0;
12201222
result_obj = (php_sqlite3_result *)zend_object_store_get_object(object TSRMLS_CC);
12211223

12221224
SQLITE3_CHECK_INITIALIZED(result_obj->stmt_obj->initialised, SQLite3_result)
@@ -1235,7 +1237,7 @@ PHP_METHOD(sqlite3_result, columnType)
12351237
{
12361238
php_sqlite3_result *result_obj;
12371239
zval *object = getThis();
1238-
int column = 0;
1240+
long column = 0;
12391241
result_obj = (php_sqlite3_result *)zend_object_store_get_object(object TSRMLS_CC);
12401242

12411243
SQLITE3_CHECK_INITIALIZED(result_obj->stmt_obj->initialised, SQLite3_result)
@@ -1254,7 +1256,8 @@ PHP_METHOD(sqlite3_result, fetchArray)
12541256
{
12551257
php_sqlite3_result *result_obj;
12561258
zval *object = getThis();
1257-
int i, ret, mode = PHP_SQLITE3_BOTH;
1259+
int i, ret;
1260+
long mode = PHP_SQLITE3_BOTH;
12581261
result_obj = (php_sqlite3_result *)zend_object_store_get_object(object TSRMLS_CC);
12591262

12601263
SQLITE3_CHECK_INITIALIZED(result_obj->stmt_obj->initialised, SQLite3_result)

0 commit comments

Comments
 (0)