From 4dad66a736ca2ce18ec36da9765e781273b1d3b8 Mon Sep 17 00:00:00 2001 From: MrBlackk Date: Tue, 15 Sep 2020 15:00:00 +0300 Subject: [PATCH] fix panic in case of empty commands GET and DEL --- .../07_tcp-apps/02_memory-database/main.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/015_understanding-TCP-servers/07_tcp-apps/02_memory-database/main.go b/015_understanding-TCP-servers/07_tcp-apps/02_memory-database/main.go index 0bae2ca2..0672e7a3 100644 --- a/015_understanding-TCP-servers/07_tcp-apps/02_memory-database/main.go +++ b/015_understanding-TCP-servers/07_tcp-apps/02_memory-database/main.go @@ -51,6 +51,10 @@ func handle(conn net.Conn) { } switch fs[0] { case "GET": + if len(fs) != 2 { + fmt.Fprintln(conn, "EXPECTED KEY\r\n") + continue + } k := fs[1] v := data[k] fmt.Fprintf(conn, "%s\r\n", v) @@ -63,6 +67,10 @@ func handle(conn net.Conn) { v := fs[2] data[k] = v case "DEL": + if len(fs) != 2 { + fmt.Fprintln(conn, "EXPECTED KEY\r\n") + continue + } k := fs[1] delete(data, k) default: