From 823b81363a1145de4b8660153007b11faf4e2c56 Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Thu, 2 Jun 2022 02:43:58 -0700 Subject: web: fix minor mem leaks and bugs --- web/web_prompt.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'web/web_prompt.c') diff --git a/web/web_prompt.c b/web/web_prompt.c index 37745e8..9fefa7a 100644 --- a/web/web_prompt.c +++ b/web/web_prompt.c @@ -486,9 +486,14 @@ static void prompt_handle_on_change() if (pm != PM_VISIT) return; + int pts = 0; char *str = prompt_get(); - update_user_rem_from_pts(atoi(str)); - free(str); + if (str) { + pts = atoi(str); + free(str); + } + + update_user_rem_from_pts(pts); } static void prompt_handle_append(char *data) @@ -499,7 +504,7 @@ static void prompt_handle_append(char *data) return; char *str = prompt_get(); - size_t len_str = strlen(str); + size_t len_str = str ? strlen(str) : 0; size_t len_data = strlen(data); if (len_str < 3) { str = realloc(str, len_str + len_data + 1); @@ -516,6 +521,8 @@ static void prompt_handle_backspace() return; char *str = prompt_get(); + if (!str) + return; size_t len_str = strlen(str); if (len_str > 0) { str[len_str-1] = 0; @@ -549,6 +556,8 @@ static void prompt_handle_submit() return; char *str = prompt_get(); + if (!str) + return; prompt_handle_clear(); if (*str) { if (pm == PM_VISIT) @@ -575,6 +584,8 @@ static void prompt_handle_rem() return; char *str = prompt_get(); + if (!str) + return; prompt_handle_clear(); if (*str) user_visit_to_rem(atoi(str)); -- cgit v1.2.3-70-g09d2