]> granicus.if.org Git - php/commitdiff
Fixes for variety of issues identified by coverity scan
authorIlia Alshanetsky <iliaa@php.net>
Sun, 7 Aug 2011 23:46:00 +0000 (23:46 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 7 Aug 2011 23:46:00 +0000 (23:46 +0000)
ext/pdo/pdo.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_sql_parser.re

index 169ce32e25fe990e4cd62f02620836c006f55711..b654fea639948a50b19a19b14880bf69fc68b21a 100755 (executable)
@@ -191,7 +191,7 @@ PDO_API int php_pdo_register_driver(pdo_driver_t *driver)
        }
 
        return zend_hash_add(&pdo_driver_hash, (char*)driver->driver_name, driver->driver_name_len,
-                       (void**)&driver, sizeof(driver), NULL);
+                       (void**)&driver, sizeof(pdo_driver_t *), NULL);
 }
 
 PDO_API void php_pdo_unregister_driver(pdo_driver_t *driver)
index 9cc4162f7f6663682688e62aa2ca51747c3a9b9d..c4380d1e48b1e2be52b52fdd1f5f6ecbfc28e18b 100755 (executable)
@@ -57,7 +57,7 @@ void pdo_raise_impl_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, const char *sqlstate
                pdo_err = &stmt->error_code;
        }
 
-       strcpy(*pdo_err, sqlstate);
+       strncpy(*pdo_err, sqlstate, 6);
 
        /* hash sqlstate to error messages */
        msg = pdo_sqlstate_state_to_description(*pdo_err);
index bb7af3575d324e1b67a1f2c87018bfce960e6d5b..92411f8075464d82f4497c7093f02d28589319fa 100644 (file)
@@ -236,6 +236,9 @@ safe:
                                                        plc->freeq = 0;
                                                        break;
 
+                                               case IS_BOOL:
+                                                       convert_to_long(param->parameter);
+
                                                case IS_LONG:
                                                case IS_DOUBLE:
                                                        convert_to_string(param->parameter);
@@ -244,8 +247,6 @@ safe:
                                                        plc->freeq = 0;
                                                        break;
 
-                                               case IS_BOOL:
-                                                       convert_to_long(param->parameter);
                                                default:
                                                        convert_to_string(param->parameter);
                                                        if (!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter),