patch 7.4.1255
Problem: Crash for channel "eval" command without third argument.
Solution: Check for missing argument.
diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py
index f1d774f..dbf9eb2 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -68,8 +68,8 @@
# simply send back a string
response = "got it"
elif decoded[1] == 'make change':
- # Send two ex commands at the same time, before replying to
- # the request.
+ # Send two ex commands at the same time, before
+ # replying to the request.
cmd = '["ex","call append(\\"$\\",\\"added1\\")"]'
cmd += '["ex","call append(\\"$\\",\\"added2\\")"]'
print("sending: {}".format(cmd))
@@ -87,6 +87,12 @@
print("sending: {}".format(cmd))
self.request.sendall(cmd.encode('utf-8'))
response = "ok"
+ elif decoded[1] == 'eval-bad':
+ # Send an eval request missing the third argument.
+ cmd = '["eval","xxx"]'
+ print("sending: {}".format(cmd))
+ self.request.sendall(cmd.encode('utf-8'))
+ response = "ok"
elif decoded[1] == 'eval-result':
# Send back the last received eval result.
response = last_eval