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  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: "Suwalka, Kriti"
Дата:
Сообщение: JDBC Driver42.2.2 throws error when dealing with money datatype
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15229: Crash when using PQgetvalue