diff --git a/notifier/amqp/directdeliverer.go b/notifier/amqp/directdeliverer.go index 78412ee1f4..ac8ff3bab6 100644 --- a/notifier/amqp/directdeliverer.go +++ b/notifier/amqp/directdeliverer.go @@ -85,6 +85,7 @@ func (d *DirectDeliverer) Deliver(ctx context.Context, _ uuid.UUID) error { var buf bytes.Buffer enc := json.NewEncoder(&buf) + var currentBlock []notifier.Notification for bs, be := 0, rollup; bs < len(d.n); bs, be = be, be+rollup { buf.Reset() // if block-end exceeds array bounds, slice block underflow. @@ -93,8 +94,8 @@ func (d *DirectDeliverer) Deliver(ctx context.Context, _ uuid.UUID) error { be = len(d.n) } - d.n = d.n[bs:be] - err := enc.Encode(&d.n) + currentBlock = d.n[bs:be] + err := enc.Encode(¤tBlock) if err != nil { ch.TxRollback() return &clairerror.ErrDeliveryFailed{err} diff --git a/notifier/stomp/directdeliverer.go b/notifier/stomp/directdeliverer.go index 598b1dc3b6..a9ed94fef2 100644 --- a/notifier/stomp/directdeliverer.go +++ b/notifier/stomp/directdeliverer.go @@ -75,6 +75,7 @@ func (d *DirectDeliverer) Deliver(ctx context.Context, nID uuid.UUID) error { var buf bytes.Buffer enc := json.NewEncoder(&buf) + var currentBlock []notifier.Notification for bs, be := 0, rollup; bs < len(d.n); bs, be = be, be+rollup { buf.Reset() // if block-end exceeds array bounds, slice block underflow. @@ -83,8 +84,8 @@ func (d *DirectDeliverer) Deliver(ctx context.Context, nID uuid.UUID) error { be = len(d.n) } - d.n = d.n[bs:be] - err := enc.Encode(&d.n) + currentBlock = d.n[bs:be] + err := enc.Encode(¤tBlock) if err != nil { tx.Abort() return &clairerror.ErrDeliveryFailed{err}