0.50 alignment errors in convert.c

Anthony Baxter anthony at ekit-inc.com
Mon Dec 20 23:38:34 EST 1999


0.50 was built on Solaris 2.7 sparc with gcc and
./configure --tds-version=4.2 --msdblib

when running a query that returns an int as a varchar (eg
select count(*) from accounts 
there's a sigbus-causing alignment error in src/tds/convert.c

Patch:
--- convert.c.orig      Tue Dec 21 15:32:25 1999
+++ convert.c   Tue Dec 21 15:33:06 1999
@@ -289,7 +289,7 @@
        switch(desttype) {
                case SYBCHAR:
                case SYBVARCHAR:
-                       sprintf(tmp_str,"%d",*((TDS_SMALLINT *) src));
+                       sprintf(tmp_str,"%d",*((TDS_SMALLINT *) buf));
                        any.c = tmp_str;
                        break;
                case SYBINT1:
@@ -314,7 +314,7 @@
        switch(desttype) {
                case SYBCHAR:
                case SYBVARCHAR:
-                       sprintf(tmp_str,"%ld",*((TDS_INT *) src));
+                       sprintf(tmp_str,"%ld",*((TDS_INT *) buf));
                        any.c = tmp_str;
                        break;
                case SYBINT1:





More information about the FreeTDS mailing list