From b3b8506ef0ce1200cd1f50455ff4a81deb8bd74e Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Wed, 6 May 2020 20:44:08 -0400 Subject: Some minor memory safety improvements --- main.F90 | 16 +++++++++++----- render.f90 | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/main.F90 b/main.F90 index 13ff29a..9610207 100644 --- a/main.F90 +++ b/main.F90 @@ -68,7 +68,7 @@ implicit none do while(running) if(index(current_url, "gemini://") /= 1) then - call r%draw_error("Only gemini:// URLs are supported") + call r%draw_error("Only gemini:// URLs supported ("//trim(current_url)//")") populated = .false. loaded = .true. return_code = STATUS_LOCALFAIL @@ -129,12 +129,16 @@ implicit none case (render_action_back) call back_location(locations_visited, current_url) - call free_lines(first_line) + if(associated(first_line)) then + call free_lines(first_line) + end if loaded = .false. case (render_action_layout) - call r%report_status("Performing Layout") - call layout_lines(first_line, r) + if(associated(first_line)) then + call r%report_status("Performing Layout") + call layout_lines(first_line, r) + end if case (render_action_goto) @@ -144,7 +148,9 @@ implicit none call handle_relative_url(current_url, input) end if - call free_lines(first_line) + if(associated(first_line)) then + call free_lines(first_line) + end if loaded = .false. end select diff --git a/render.f90 b/render.f90 index 0045c22..d723467 100644 --- a/render.f90 +++ b/render.f90 @@ -212,7 +212,7 @@ contains do while(w > r%max_width) endpos = endpos - 1 - do while(text(endpos:endpos) /= ' ' .and. text(endpos:endpos) /= '-') + do while(text(endpos:endpos) /= ' ' .and. text(endpos:endpos) /= '-' .and. endpos > my_start) endpos = endpos - 1 end do -- cgit v1.2.3