AmendHub

Download (as of this amendment):

jcs

/

subtext

/

amendments

/

612

folder: Avoid leak in failure, fix handling 'Y' response


jcs made amendment 612 10 months ago
--- folder.c Tue Jan 23 16:26:32 2024 +++ folder.c Sat Dec 6 21:43:56 2025 @@ -668,6 +668,7 @@ folder_file_view(struct session *s, struct folder *fol if (s->can_nomodem) { ns = nomodem_send(s, fp, file.filename); if (ns == NULL) { + fclose(fp); xfree(&path); done = true; break; @@ -675,6 +676,7 @@ folder_file_view(struct session *s, struct folder *fol } else { zs = ZCreateSender(s, fp, file.filename); if (zs == NULL) { + fclose(fp); xfree(&path); done = true; break; @@ -763,7 +765,7 @@ timed_out: session_flush(s); cc = session_input_char(s); - if (cc == 'y' || c == 'Y') { + if (cc == 'y' || cc == 'Y') { session_printf(s, "%c\r\n", cc); session_flush(s); @@ -861,7 +863,6 @@ folder_find_file_ids(struct folder *folder, size_t *nf xfree(&name_map); -done: return *nfile_ids; } @@ -1015,7 +1016,7 @@ folder_file_valid_filename(struct session *session, } ret = bile_read_alloc(folder->bile, FOLDER_FILE_RTYPE, o->id, &data); - if (ret == 0) { + if (ret == 0 || data == NULL) { xfree(&o); return false; }