Package: libmyodbc
Version: 5.1.10-2+b1
Severity: important

Dear Maintainer,

A simple connect-to-odbc test crashes.

The Makefile ----------

test_odbc: main.c
        gcc -g -o test_odbc main.c -lodbc


The code ------------

#include <sql.h>
#include <sqlext.h>
#include <stdio.h>
#include <stdlib.h>

void check(SQLRETURN r)
{
   if (r != SQL_SUCCESS)
   {
      printf("ERROR\n");
      exit(1);
   }
}

int main( int argc, char** argv )
{
   SQLRETURN r;
   SQLCHAR * dsn;
   SQLHANDLE env;
   SQLHANDLE conn;

   if (argc < 2)
   {
      printf("USAGE: test_odbc DSNNAME\n");
      return 1;
   }

   printf("Will connect to %s\n", argv[1]);
   dsn = argv[1];

   printf("alloc env\n");
   r = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env );
   check(r);

   printf("setup version\n");
   r = SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
   check(r);

   printf("alloc con\n");
   r = SQLAllocHandle( SQL_HANDLE_DBC, env, &conn );
   check(r);

   printf("connect\n");
   r = SQLConnect( conn, dsn, SQL_NTS, NULL, 0, NULL, 0 );
   check(r);

   return 0;
}


The DSN ----- /etc/odbc.init -------

[booleans]
Description = Boolean test DB
Driver = MySQL
SERVER = localhost
USER = user
PASSWORD = pass
PORT = 3306
DATABASE = booleans
Option = 3


The odbcinst.ini --------------


[MySQL]
Description             = MySQL driver
Driver          = libmyodbc.so
Setup           = libodbcmyS.so
CPTimeout               =
CPReuse         =



The Crash ------------


$ ./test_odbc booleans
Will connect to booleans
alloc env
setup version
alloc con
connect
*** glibc detected *** ./test_odbc: munmap_chunk(): invalid pointer:
0x0000000001294708 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7fd6a7b83d76]
/usr/lib/x86_64-linux-
gnu/odbc/libmyodbc.so(MySQLGetPrivateProfileStringW+0x10c)[0x7fd6a68918ec]
/usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so(ds_lookup+0x47)[0x7fd6a6891667]
/usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so(MySQLConnect+0xde)[0x7fd6a6879d5e]
/usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so(SQLConnect+0xbd)[0x7fd6a687128d]
/usr/lib/x86_64-linux-gnu/libodbc.so.1(SQLConnect+0x1ba)[0x7fd6a7ea6e4a]
../test_odbc[0x400961]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fd6a7b2bead]
../test_odbc[0x400739]




-- System Information:
Debian Release: 7.1
  APT prefers stable
  APT policy: (700, 'stable'), (650, 'testing'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.41-4-amd64+toi-2-2 (SMP w/8 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libmyodbc depends on:
ii  debconf [debconf-2.0]  1.5.49
ii  libc6                  2.13-38
ii  libmysqlclient18       10.0.3+maria-1~wheezy
ii  odbcinst1debian2       2.2.14p2-5
ii  zlib1g                 1:1.2.7.dfsg-13

Versions of packages libmyodbc recommends:
ii  libodbc1  2.2.14p2-5

libmyodbc suggests no packages.

-- debconf information:
  libmyodbc/addtoodbc: false


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to