{
MYSQLND_STMT_DATA * stmt = s? s->data:NULL;
MYSQLND_PACKET_EOF * fields_eof;
- enum_func_status ret;
+ enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_stmt_prepare_read_eof");
DBG_INF_FMT("stmt=%lu", stmt->stmt_id);
fails, we will scrap it.
*/
s_to_prepare = stmt->conn->m->stmt_init(stmt->conn TSRMLS_CC);
+ if (!s_to_prepare) {
+ goto fail;
+ }
stmt_to_prepare = s_to_prepare->data;
}
DBG_RETURN(PASS);
fail:
- if (stmt_to_prepare != stmt) {
+ if (stmt_to_prepare != stmt && s_to_prepare) {
s_to_prepare->m->dtor(s_to_prepare, TRUE TSRMLS_CC);
}
stmt->state = MYSQLND_STMT_INITTED;
enum_func_status ret;
MYSQLND_STMT * s = (MYSQLND_STMT *) param;
MYSQLND_STMT_DATA * stmt = s? s->data:NULL;
- MYSQLND_PACKET_ROW *row_packet = result->row_packet;
+ MYSQLND_PACKET_ROW * row_packet;
DBG_ENTER("mysqlnd_stmt_fetch_row_unbuffered");
DBG_ERR("command out of sync");
DBG_RETURN(FAIL);
}
+ if (!(row_packet = result->row_packet)) {
+ DBG_RETURN(FAIL);
+ }
+
/* Let the row packet fill our buffer and skip additional malloc + memcpy */
row_packet->skip_extraction = stmt && stmt->result_bind? FALSE:TRUE;
{
enum_func_status ret;
MYSQLND_STMT * s = (MYSQLND_STMT *) param;
- MYSQLND_STMT_DATA * stmt = s? s->data : NULL;
+ MYSQLND_STMT_DATA * stmt = s? s->data:NULL;
zend_uchar buf[STMT_ID_LENGTH /* statement id */ + 4 /* number of rows to fetch */];
- MYSQLND_PACKET_ROW *row_packet = result->row_packet;
+ MYSQLND_PACKET_ROW * row_packet;
DBG_ENTER("mysqlnd_fetch_stmt_row_cursor");
DBG_ERR("command out of sync");
DBG_RETURN(FAIL);
}
+ if (!(row_packet = result->row_packet)) {
+ DBG_RETURN(FAIL);
+ }
SET_EMPTY_ERROR(stmt->error_info);
SET_EMPTY_ERROR(stmt->conn->error_info);
DBG_ENTER("mysqlnd_stmt::bind_result");
DBG_INF_FMT("stmt=%lu field_count=%u", stmt->stmt_id, stmt->field_count);
-
if (stmt->state < MYSQLND_STMT_PREPARED) {
SET_STMT_ERROR(stmt, CR_NO_PREPARE_STMT, UNKNOWN_SQLSTATE, mysqlnd_stmt_not_prepared);
if (result_bind) {
if (!stmt->param_count) {
return NULL;
}
-
return NULL;
}
/* }}} */