{183325168} server vutf8 to cstr bug#5826
Conversation
aefccb4 to
b7f1e47
Compare
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
sc_resume_logicalsc_generated **quarantined**
queuedb_rollover_noroll1_generated **quarantined**
consumer_non_atomic_default_consumer_generated **quarantined**
remsql_locks **quarantined**
remsql_locks_rte_connect_generated **quarantined**
reco-ddlk-sql [timeout] **quarantined**
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
scindex_logicalsc_generated [failed with core dumped]
sc_timepart **quarantined**
consumer_non_atomic_default_consumer_generated **quarantined**
remsql_locks_rte_connect_generated **quarantined**
remsql_locks **quarantined**
truncatesc_offline_generated [timeout] **quarantined**
sc_truncate_lockorder_generated [timeout] **quarantined**
reco-ddlk-sql [timeout] **quarantined**
clang fix Signed-off-by: Rishitha Kalicheti <rkalicheti1@bloomberg.com>
b7f1e47 to
cf22f41
Compare
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
yast_stat4scan_generated
consumer_non_atomic_default_consumer_generated **quarantined**
sc_transactional_rowlocks_generated **quarantined**
remsql_locks_rte_connect_generated **quarantined**
remsql_locks **quarantined**
reco-ddlk-sql [timeout] **quarantined**
Bug: "vutf8_convert: len=11, in_len=10, out_len=10, inblob_len=11, inblob_data=0123456789"
I think vutf8_convert is written to handle outblobs specifically, but i think we are trying to reuse.. there are 2 issues,
1. there are 4 cases in vutf8_convert function , this bug falls into case 1, and it assumes our outblob (we don't have any)
is longer than record len, but that's wrong !
2. even if we force it to case 4, I think there is double free issue
(it'll coredump in convert_record_data_cleanup -> free_db_record -> free(db->recbuf);, cause we already free'ed
inside vutf8_convert)
fix: don't use vutf8_convert, and do what server_bcstr_to_server_bcstr does (i.e memcpy to out)