From: Antony Dovgal Date: Tue, 15 Aug 2006 12:27:24 +0000 (+0000) Subject: MFH: error message might be NULL X-Git-Tag: php-5.2.0RC2~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=88e752c007e7bb0e6dc2a50515bc7b589f365084;p=php MFH: error message might be NULL --- diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 220dea76c1..c56df2d59e 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -426,7 +426,7 @@ oci_error: if (error_code) { int tmp_buf_len = strlen(tmp_buf); - if (tmp_buf[tmp_buf_len - 1] == '\n') { + if (tmp_buf_len > 0 && tmp_buf[tmp_buf_len - 1] == '\n') { tmp_buf[tmp_buf_len - 1] = '\0'; } @@ -845,8 +845,12 @@ sb4 php_oci_error(OCIError *err_p, sword status TSRMLS_DC) break; case OCI_SUCCESS_WITH_INFO: errcode = php_oci_fetch_errmsg(err_p, &errbuf TSRMLS_CC); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "OCI_SUCCESS_WITH_INFO: %s", errbuf); - efree(errbuf); + if (errbuf) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "OCI_SUCCESS_WITH_INFO: %s", errbuf); + efree(errbuf); + } else { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "OCI_SUCCESS_WITH_INFO: failed to fetch error message"); + } break; case OCI_NEED_DATA: php_error_docref(NULL TSRMLS_CC, E_WARNING, "OCI_NEED_DATA"); @@ -856,8 +860,12 @@ sb4 php_oci_error(OCIError *err_p, sword status TSRMLS_DC) break; case OCI_ERROR: errcode = php_oci_fetch_errmsg(err_p, &errbuf TSRMLS_CC); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errbuf); - efree(errbuf); + if (errbuf) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errbuf); + efree(errbuf); + } else { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to fetch error message"); + } break; case OCI_INVALID_HANDLE: php_error_docref(NULL TSRMLS_CC, E_WARNING, "OCI_INVALID_HANDLE");