This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new dd4b66643 [ISSUE #5424] Fix null exception and array overflow bug 
exist in getHalfMsg method #5425
dd4b66643 is described below

commit dd4b66643581c962db0cfb3951a893792f4e349e
Author: RapperCL <[email protected]>
AuthorDate: Mon Oct 31 10:27:54 2022 +0800

    [ISSUE #5424] Fix null exception and array overflow bug exist in getHalfMsg 
method #5425
---
 .../transaction/queue/TransactionalMessageServiceImpl.java | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
 
b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
index f9347c819..1f2238414 100644
--- 
a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
+++ 
b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
@@ -550,14 +550,16 @@ public class TransactionalMessageServiceImpl implements 
TransactionalMessageServ
 
     private GetResult getHalfMsg(MessageQueue messageQueue, long offset) {
         GetResult getResult = new GetResult();
-
+    
         PullResult result = pullHalfMsg(messageQueue, offset, 
PULL_MSG_RETRY_NUMBER);
-        getResult.setPullResult(result);
-        List<MessageExt> messageExts = result.getMsgFoundList();
-        if (messageExts == null) {
-            return getResult;
+        if (result != null) {
+            getResult.setPullResult(result);
+            List<MessageExt> messageExts = result.getMsgFoundList();
+            if (messageExts == null || messageExts.size() == 0) {
+                return getResult;
+            }
+            getResult.setMsg(messageExts.get(0));
         }
-        getResult.setMsg(messageExts.get(0));
         return getResult;
     }
 

Reply via email to