mirror of
https://github.com/openharmony/commonlibrary_rust_ylong_http.git
synced 2026-07-01 21:54:05 -04:00
!226 merge issues into master
ylong_http ffi安全问题修复 Created-by: tiga-ultraman Commit-by: Tiga Ultraman Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue)  ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/commonlibrary_rust_ylong_http!226
This commit is contained in:
@@ -100,6 +100,12 @@ impl QuicConn {
|
||||
false,
|
||||
) as *mut quiche::Connection
|
||||
};
|
||||
if conn.is_null() {
|
||||
return Err(HttpClientError::from_str(
|
||||
ErrorKind::Connect,
|
||||
"Quic connect error",
|
||||
));
|
||||
}
|
||||
let mut conn = QuicConn {
|
||||
inner: unsafe { *Box::from_raw(conn) },
|
||||
};
|
||||
|
||||
@@ -112,9 +112,9 @@ impl SslRef {
|
||||
unsafe { SSL_get_rbio(self.as_ptr()) }
|
||||
}
|
||||
|
||||
pub(crate) fn read(&mut self, buf: &[u8]) -> c_int {
|
||||
pub(crate) fn read(&mut self, buf: &mut [u8]) -> c_int {
|
||||
let len = cmp::min(c_int::MAX as usize, buf.len()) as c_int;
|
||||
unsafe { SSL_read(self.as_ptr(), buf.as_ptr() as *mut c_void, len) }
|
||||
unsafe { SSL_read(self.as_ptr(), buf.as_mut_ptr() as *mut c_void, len) }
|
||||
}
|
||||
|
||||
pub(crate) fn write(&mut self, buf: &[u8]) -> c_int {
|
||||
|
||||
@@ -115,7 +115,7 @@ impl<S> Drop for SslStream<S> {
|
||||
}
|
||||
|
||||
impl<S: Read + Write> SslStream<S> {
|
||||
pub(crate) fn ssl_read(&mut self, buf: &[u8]) -> Result<usize, SslError> {
|
||||
pub(crate) fn ssl_read(&mut self, buf: &mut [u8]) -> Result<usize, SslError> {
|
||||
if buf.is_empty() {
|
||||
return Ok(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user