diff options
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r-- | ext/mssql/php_mssql.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 6bcda74b37..e5b079e7f2 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -987,6 +987,7 @@ static int _mssql_fetch_batch(mssql_link *mssql_ptr, mssql_result *result, int r column_types = (int *) safe_emalloc(sizeof(int), result->num_fields, 0); for (i=0; i<result->num_fields; i++) { + char *source = NULL; char *fname = (char *)dbcolname(mssql_ptr->link,i+1); if (*fname) { @@ -1001,8 +1002,11 @@ static int _mssql_fetch_batch(mssql_link *mssql_ptr, mssql_result *result, int r j++; } result->fields[i].max_length = dbcollen(mssql_ptr->link,i+1); - result->fields[i].column_source = estrdup(dbcolsource(mssql_ptr->link,i+1)); - if (!result->fields[i].column_source) { + source = (char *)dbcolsource(mssql_ptr->link,i+1); + if (source) { + result->fields[i].column_source = estrdup(source); + } + else { result->fields[i].column_source = empty_string; } |