]> granicus.if.org Git - php/commitdiff
Fixes bug #66071: isc_interprete is unsafe and deprecated , it is replaced with fb_it...
authorPopa Adrian Marius <mapopa@reea.net>
Tue, 8 Apr 2014 11:11:58 +0000 (14:11 +0300)
committerPopa Adrian Marius <mapopa@reea.net>
Tue, 8 Apr 2014 14:50:41 +0000 (17:50 +0300)
ext/pdo_firebird/firebird_driver.c

index aa5e7955942ee47163bcd6397e6132c9843d010d..72595de9f1a83cfa6faf6a42f5f9411626592a47 100644 (file)
@@ -607,14 +607,14 @@ static int firebird_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *val TS
 static int pdo_firebird_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *info TSRMLS_DC) /* {{{ */
 {       
        pdo_firebird_db_handle *H = (pdo_firebird_db_handle *)dbh->driver_data;
-       ISC_STATUS *s = H->isc_status;
+       const ISC_STATUS *s = H->isc_status;
        char buf[400];
        long i = 0, l, sqlcode = isc_sqlcode(s);
 
        if (sqlcode) {
                add_next_index_long(info, sqlcode);
 
-               while ((l = isc_interprete(&buf[i],&s))) {
+               while ((sizeof(buf)>(i+2))&&(l = fb_interpret(&buf[i],(sizeof(buf)-i-2),&s))) {
                        i += l;
                        strcpy(&buf[i++], " ");
                }
@@ -697,8 +697,8 @@ static int pdo_firebird_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRM
 
        if (!dbh->methods) {
                char errmsg[512];
-               ISC_STATUS *s = H->isc_status;
-               isc_interprete(errmsg, &s);
+               const ISC_STATUS *s = H->isc_status;
+               fb_interpret(errmsg, sizeof(errmsg),&s);
                zend_throw_exception_ex(php_pdo_get_exception(), H->isc_status[1] TSRMLS_CC, "SQLSTATE[%s] [%d] %s",
                                "HY000", H->isc_status[1], errmsg);
        }