summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Naumov <alexander_naumov@opensuse.org>2023-01-30 17:22:25 +0200
committerAlexander Naumov <alexander_naumov@opensuse.org>2023-01-30 17:22:25 +0200
commite9ad41bfedb4537a6f0de20f00b27c7739f168f7 (patch)
tree90f242c2c3dba61a513eae6ed5af8cf6e5d3ae28
parent531d09e92a396fb8ee43b05be274fddf14e09baf (diff)
downloadscreen-e9ad41bfedb4537a6f0de20f00b27c7739f168f7.tar.gz
fix: missing signal sending permission check on failed query messages
Signed-off-by: Alexander Naumov <alexander_naumov@opensuse.org>
-rw-r--r--src/socket.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/socket.c b/src/socket.c
index 147dc54..54d8cb8 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -1285,11 +1285,16 @@ ReceiveMsg()
else
queryflag = -1;
- Kill(m.m.command.apid,
+ if (CheckPid(m.m.command.apid)) {
+ Msg(0, "Query attempt with bad pid(%d)!", m.m.command.apid);
+ }
+ else {
+ Kill(m.m.command.apid,
(queryflag >= 0)
? SIGCONT
: SIG_BYE); /* Send SIG_BYE if an error happened */
- queryflag = -1;
+ queryflag = -1;
+ }
}
break;
case MSG_COMMAND: