diff --git a/tools/btgatt-client.c b/tools/btgatt-client.c
index 8c9365a..58a03bd 100644
--- a/tools/btgatt-client.c
+++ b/tools/btgatt-client.c
return;
}
- if ((read = getline(&line, &len, stdin)) == -1)
+ read = getline(&line, &len, stdin);
+ if (read < 0) {
+ free(line);
return;
+ }
if (read <= 1) {
cmd_help(cli, NULL);
print_prompt();
+ free(line);
return;
}
diff --git a/tools/btgatt-server.c b/tools/btgatt-server.c
index 4a5d2b7..90a6c9b 100644
--- a/tools/btgatt-server.c
+++ b/tools/btgatt-server.c
}
read = getline(&line, &len, stdin);
- if (read < 0)
+ if (read < 0) {
+ free(line);
return;
+ }
if (read <= 1) {
cmd_help(server, NULL);
print_prompt();
+ free(line);
return;
}