Skip to content

Commit a0185df

Browse files
authored
Merge pull request from GHSA-j496-crgh-34mx
1 parent 205cd91 commit a0185df

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ go 1.19
33
module github.com/cosmos/ibc-go/v4
44

55
retract (
6+
[v4.4.1, v4.5.1] // contains ASA-2024-007 vulnerability
67
v4.4.0 // contains huckleberry vulnerability
78
v4.3.0 // contains huckleberry vulnerability
89
v4.2.1 // contains state machine breaking change
@@ -150,4 +151,4 @@ require (
150151
replace (
151152
github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
152153
github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27
153-
)
154+
)

modules/core/keeper/msg_server.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -483,17 +483,17 @@ func (k Keeper) Timeout(goCtx context.Context, msg *channeltypes.MsgTimeout) (*c
483483
return nil, sdkerrors.Wrap(err, "timeout packet verification failed")
484484
}
485485

486+
// Delete packet commitment
487+
if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil {
488+
return nil, err
489+
}
490+
486491
// Perform application logic callback
487492
err = cbs.OnTimeoutPacket(ctx, msg.Packet, relayer)
488493
if err != nil {
489494
return nil, sdkerrors.Wrap(err, "timeout packet callback failed")
490495
}
491496

492-
// Delete packet commitment
493-
if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil {
494-
return nil, err
495-
}
496-
497497
defer func() {
498498
telemetry.IncrCounterWithLabels(
499499
[]string{"ibc", "timeout", "packet"},
@@ -551,6 +551,11 @@ func (k Keeper) TimeoutOnClose(goCtx context.Context, msg *channeltypes.MsgTimeo
551551
return nil, sdkerrors.Wrap(err, "timeout on close packet verification failed")
552552
}
553553

554+
// Delete packet commitment
555+
if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil {
556+
return nil, err
557+
}
558+
554559
// Perform application logic callback
555560
//
556561
// NOTE: MsgTimeout and MsgTimeoutOnClose use the same "OnTimeoutPacket"
@@ -560,11 +565,6 @@ func (k Keeper) TimeoutOnClose(goCtx context.Context, msg *channeltypes.MsgTimeo
560565
return nil, sdkerrors.Wrap(err, "timeout packet callback failed")
561566
}
562567

563-
// Delete packet commitment
564-
if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil {
565-
return nil, err
566-
}
567-
568568
defer func() {
569569
telemetry.IncrCounterWithLabels(
570570
[]string{"ibc", "timeout", "packet"},

0 commit comments

Comments
 (0)