Avoid strcpy() usage

This commit is contained in:
Ilia Alshanetsky 2011-08-08 00:07:54 +00:00
parent 34f08a3715
commit 42f3972e61
2 changed files with 9 additions and 9 deletions

View file

@ -213,7 +213,7 @@ safe:
param->param_type TSRMLS_CC)) { param->param_type TSRMLS_CC)) {
/* bork */ /* bork */
ret = -1; ret = -1;
strcpy(stmt->error_code, stmt->dbh->error_code); strncpy(stmt->error_code, stmt->dbh->error_code, 6);
if (buf) { if (buf) {
efree(buf); efree(buf);
} }
@ -254,7 +254,7 @@ safe:
param->param_type TSRMLS_CC)) { param->param_type TSRMLS_CC)) {
/* bork */ /* bork */
ret = -1; ret = -1;
strcpy(stmt->error_code, stmt->dbh->error_code); strncpy(stmt->error_code, stmt->dbh->error_code, 6);
goto clean_up; goto clean_up;
} }
plc->freeq = 1; plc->freeq = 1;

View file

@ -47,33 +47,33 @@ int _pdo_sqlite_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, const char *file, int li
} }
einfo->errmsg = pestrdup((char*)sqlite3_errmsg(H->db), dbh->is_persistent); einfo->errmsg = pestrdup((char*)sqlite3_errmsg(H->db), dbh->is_persistent);
} else { /* no error */ } else { /* no error */
strcpy(*pdo_err, PDO_ERR_NONE); strncpy(*pdo_err, PDO_ERR_NONE, sizeof(PDO_ERR_NONE));
return 0; return 0;
} }
switch (einfo->errcode) { switch (einfo->errcode) {
case SQLITE_NOTFOUND: case SQLITE_NOTFOUND:
strcpy(*pdo_err, "42S02"); strncpy(*pdo_err, "42S02", sizeof("42S02"));
break; break;
case SQLITE_INTERRUPT: case SQLITE_INTERRUPT:
strcpy(*pdo_err, "01002"); strncpy(*pdo_err, "01002", sizeof("01002"));
break; break;
case SQLITE_NOLFS: case SQLITE_NOLFS:
strcpy(*pdo_err, "HYC00"); strncpy(*pdo_err, "HYC00", sizeof("HYC00"));
break; break;
case SQLITE_TOOBIG: case SQLITE_TOOBIG:
strcpy(*pdo_err, "22001"); strncpy(*pdo_err, "22001", sizeof("22001"));
break; break;
case SQLITE_CONSTRAINT: case SQLITE_CONSTRAINT:
strcpy(*pdo_err, "23000"); strncpy(*pdo_err, "23000", sizeof("23000"));
break; break;
case SQLITE_ERROR: case SQLITE_ERROR:
default: default:
strcpy(*pdo_err, "HY000"); strncpy(*pdo_err, "HY000", sizeof("HY000"));
break; break;
} }