]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 310141 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Mar 2011 05:53:29 +0000 (05:53 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Mar 2011 05:53:29 +0000 (05:53 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r310141 | tilghman | 2011-03-09 23:51:37 -0600 (Wed, 09 Mar 2011) | 12 lines

  Merged revisions 310140 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r310140 | tilghman | 2011-03-09 23:38:44 -0600 (Wed, 09 Mar 2011) | 5 lines

    Initialize column size to 0 to deal with a potential UnixODBC bug on 64-bit systems.

    (closes issue #18295)
     Reported by: pruiz
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310142 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c
funcs/func_odbc.c
res/res_config_odbc.c

index 92af3ce621884d42684df5f6738e3ab3bef8cc83..d4dc2db3d3435d365e3e8c5da2fb374ca9fb52a9 100644 (file)
@@ -3343,6 +3343,7 @@ static int retrieve_file(char *dir, int msgnum)
                        fprintf(f, "[message]\n");
                for (x = 0; x < colcount; x++) {
                        rowdata[0] = '\0';
+                       colsize = 0;
                        collen = sizeof(coltitle);
                        res = SQLDescribeCol(stmt, x + 1, (unsigned char *) coltitle, sizeof(coltitle), &collen, 
                                                &datatype, &colsize, &decimaldigits, &nullable);
index 8ba91da1b4659f89890c450b6fe9940475457abe..10cf50e832c3c57c5a31bf4f848650671016c682 100644 (file)
@@ -589,7 +589,7 @@ static int acf_odbc_read(struct ast_channel *chan, const char *cmd, char *s, cha
 
                        if (y == 0) {
                                char colname[256];
-                               SQLULEN maxcol;
+                               SQLULEN maxcol = 0;
 
                                res = SQLDescribeCol(stmt, x + 1, (unsigned char *)colname, sizeof(colname), &collength, NULL, &maxcol, NULL, NULL);
                                ast_debug(3, "Got collength of %d and maxcol of %d for column '%s' (offset %d)\n", (int)collength, (int)maxcol, colname, x);
@@ -1197,6 +1197,8 @@ static char *cli_odbc_read(struct ast_cli_entry *e, int cmd, struct ast_cli_args
                        }
                        for (;;) {
                                for (x = 0; x < colcount; x++) {
+                                       maxcol = 0;
+
                                        res = SQLDescribeCol(stmt, x + 1, (unsigned char *)colname, sizeof(colname), &collength, NULL, &maxcol, NULL, NULL);
                                        if (((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) || collength == 0) {
                                                snprintf(colname, sizeof(colname), "field%d", x);
index c076555fa3e53f3bab920486d1f257da5b50ee07..b31241235e9ae76628184b53e9acc41bacc1f407 100644 (file)
@@ -238,6 +238,7 @@ static struct ast_variable *realtime_odbc(const char *database, const char *tabl
        }
        for (x = 0; x < colcount; x++) {
                rowdata[0] = '\0';
+               colsize = 0;
                collen = sizeof(coltitle);
                res = SQLDescribeCol(stmt, x + 1, (unsigned char *)coltitle, sizeof(coltitle), &collen, 
                                        &datatype, &colsize, &decimaldigits, &nullable);
@@ -410,6 +411,7 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char *
                }
                for (x=0;x<colcount;x++) {
                        rowdata[0] = '\0';
+                       colsize = 0;
                        collen = sizeof(coltitle);
                        res = SQLDescribeCol(stmt, x + 1, (unsigned char *)coltitle, sizeof(coltitle), &collen, 
                                                &datatype, &colsize, &decimaldigits, &nullable);