BUG #15229: Crash when using PQgetvalue
От | PG Bug reporting form |
---|---|
Тема | BUG #15229: Crash when using PQgetvalue |
Дата | |
Msg-id | 152812969559.26728.1109379398061677469@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #15229: Crash when using PQgetvalue
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 15229 Logged by: Duncan Email address: duncan.reitboeck@gmail.com PostgreSQL version: 10.4 Operating system: Windows 10 Description: I am getting a segmentation fault in the below code when attempting to use PQgetvalue. I am not 100 percent this is a bug and not a problem on my end but I have done a lot of debugging and not found an answer. PGconn *con; PGresult *pg_result; int i = 0; int j = 0; int cols = 0; int rows = 0; con = PQconnectdb("host=localhost user=postgres password=test dbname=test"); if(PQstatus(con) != CONNECTION_OK) { printf("Could not connect to PostgreSQL database!"); fflush(stdout); } else { g_print("Connected.\n"); pg_result = PQexec(con, "SELECT * FROM test"); if(PQresultStatus(pg_result) == PGRES_TUPLES_OK) { rows = PQntuples(pg_result); cols = PQnfields(pg_result); for(i = 0; i < rows; ++i) { for(j = 0; j < cols; ++j) { printf("Row: %d - Col: %d = %s\n", i, j, PQgetvalue(pg_result, i, j)); fflush(stdout); } } } PQclear(pg_result); close_pgsql(con); } Some of the things I have tried debugging with: 1. Replacing PQgetvalue with PQgetlength. The correct number of rows and fields are returned and the correct length is printed for each. 2. Removing printf and simply calling function. Still crashed at same location. 3. Checking PQgetisnull. No null returned. 4. Different databases, connections, etc. Always still crashed when trying to access PQgetvalue.
В списке pgsql-bugs по дате отправления: