diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1006,9 +1006,9 @@ void draw_tui(database_st *db, layout_st *layout) { /////////////////////////////////////////////////////////////////////////// // Draw selected/total tasks. - snprintf(string_buffer, string_buffer_size, " %td/%zd ", db->selected_task+1, db->count); // TODO snprintf() > string_buffer_size => error + snprintf(string_buffer, string_buffer_size, " %td/%zd ", db->selected_task+1, db->count); if (strlen(string_buffer) > layout->columns[L_TITLE_IDX].width) { - snprintf(string_buffer, string_buffer_size, "%td", db->selected_task+1); // TODO snprintf() > string_buffer_size => error + snprintf(string_buffer, string_buffer_size, "%td", db->selected_task+1); } mvaddstr(size_y-1, 1, string_buffer); @@ -1306,6 +1306,12 @@ int main(int argc, char *argv[]) { if (string_buffer_size < new_size) { string_buffer_size = new_size; string_buffer = realloc(string_buffer, string_buffer_size); + if (string_buffer == NULL && string_buffer_size > 0) { + fprintf(stderr, "Failed to allocate memory for string buffer: %s.\n", strerror(errno)); + flushinp(); + ungetch('q'); + break; + } } update_layout(); layout = &layouts[size_x > 100 ? L_NORMAL : L_COMPACT]; |
