Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit438467a

Browse files
authored
Merge pull request#25 from MakSl/fix_hangup
[PGPRO-5172] Fixed infinite looping in the receive_msg_by_parts function
2 parents873f877 +5a9f8b2 commit438467a

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

‎pg_query_state.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -970,19 +970,21 @@ receive_msg_by_parts(shm_mq_handle *mqh, Size *total, void **datap,
970970
shm_mq_resultmq_receive_result;
971971
shm_mq_msg*buff;
972972
intoffset;
973-
int*expected;
973+
int*expected;
974+
intexpected_data;
974975
Sizelen;
975976

976977
/* Get the expected number of bytes in message */
977978
mq_receive_result=shm_mq_receive(mqh,&len, (void**)&expected,nowait);
979+
expected_data=*expected;
978980
if (mq_receive_result!=SHM_MQ_SUCCESS)
979981
returnmq_receive_result;
980982
Assert(len==sizeof(int));
981983

982-
*datap=palloc0(*expected);
984+
*datap=palloc0(expected_data);
983985

984986
/* Get the message itself */
985-
for (offset=0;offset<*expected; )
987+
for (offset=0;offset<expected_data; )
986988
{
987989
/* Keep receiving new messages until we assemble the full message */
988990
mq_receive_result=shm_mq_receive(mqh,&len, ((void**)&buff),nowait);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp