mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 14:41:11 +00:00
[contracts] Add debug buffer limit + enforcement (#12845)
* Add debug buffer limit + enforcement Add debug buffer limit + enforcement * use BoundedVec for the debug buffer * revert schedule (debug buf len limit not needed anymore) * return DispatchError * addressed review comments
This commit is contained in:
@@ -594,9 +594,9 @@ mod tests {
|
||||
fn gas_meter(&mut self) -> &mut GasMeter<Self::T> {
|
||||
&mut self.gas_meter
|
||||
}
|
||||
fn append_debug_buffer(&mut self, msg: &str) -> bool {
|
||||
fn append_debug_buffer(&mut self, msg: &str) -> Result<bool, DispatchError> {
|
||||
self.debug_buffer.extend(msg.as_bytes());
|
||||
true
|
||||
Ok(true)
|
||||
}
|
||||
fn call_runtime(
|
||||
&self,
|
||||
|
||||
@@ -2395,11 +2395,11 @@ pub mod env {
|
||||
str_len: u32,
|
||||
) -> Result<ReturnCode, TrapReason> {
|
||||
ctx.charge_gas(RuntimeCosts::DebugMessage)?;
|
||||
if ctx.ext.append_debug_buffer("") {
|
||||
if ctx.ext.append_debug_buffer("")? {
|
||||
let data = ctx.read_sandbox_memory(memory, str_ptr, str_len)?;
|
||||
let msg =
|
||||
core::str::from_utf8(&data).map_err(|_| <Error<E::T>>::DebugMessageInvalidUTF8)?;
|
||||
ctx.ext.append_debug_buffer(msg);
|
||||
ctx.ext.append_debug_buffer(msg)?;
|
||||
return Ok(ReturnCode::Success)
|
||||
}
|
||||
Ok(ReturnCode::LoggingDisabled)
|
||||
|
||||
Reference in New Issue
Block a user