3791bc
From 0bd3f2aa9bd75263901e1f57a6cd9c4015084408 Mon Sep 17 00:00:00 2001
3791bc
From: Kamil Dudka <kdudka@redhat.com>
3791bc
Date: Tue, 6 Nov 2018 12:32:04 +0100
3791bc
Subject: [PATCH] lynx: fix bugs detected by static analysis
3791bc
3791bc
---
3791bc
 WWW/Library/Implementation/HTGopher.c |  1 +
3791bc
 samples/lynxdump                      |  1 +
3791bc
 src/LYBookmark.c                      |  2 ++
3791bc
 src/LYDownload.c                      |  1 +
3791bc
 src/LYLeaks.c                         | 24 ++++--------------------
3791bc
 5 files changed, 9 insertions(+), 20 deletions(-)
3791bc
3791bc
diff --git a/WWW/Library/Implementation/HTGopher.c b/WWW/Library/Implementation/HTGopher.c
3791bc
index a9ad41e..36ff592 100644
3791bc
--- a/WWW/Library/Implementation/HTGopher.c
3791bc
+++ b/WWW/Library/Implementation/HTGopher.c
3791bc
@@ -1651,6 +1651,7 @@ static int HTLoadCSO(const char *arg,
3791bc
 	(*Target->isa->put_block) (Target, buf, (int) strlen(buf));
3791bc
 	(*Target->isa->_free) (Target);
3791bc
 	free_CSOfields();
3791bc
+	BStrFree(command);
3791bc
 	return HT_LOADED;
3791bc
     }
3791bc
     /*
3791bc
diff --git a/samples/lynxdump b/samples/lynxdump
3791bc
index f79be2f..a0e9ae2 100755
3791bc
--- a/samples/lynxdump
3791bc
+++ b/samples/lynxdump
3791bc
@@ -12,4 +12,5 @@ if test $HOME/.lynxrc ; then
3791bc
 fi
3791bc
 echo 'keypad_mode=NUMBERS_AS_ARROWS' >> $MYTMP/.lynxrc
3791bc
 HOME=$MYTMP; export HOME
3791bc
+umask $oldmask
3791bc
 lynx -justify -dump -force_html -with_backspaces -nolist $*
3791bc
diff --git a/src/LYBookmark.c b/src/LYBookmark.c
3791bc
index c3116ef..6464d96 100644
3791bc
--- a/src/LYBookmark.c
3791bc
+++ b/src/LYBookmark.c
3791bc
@@ -303,6 +303,7 @@ void save_bookmark_link(const char *address,
3791bc
 	    LYMBM_statusline(CANCELLED);
3791bc
 	    LYSleepMsg();
3791bc
 	    FREE(bookmark_URL);
3791bc
+	    BStrFree(tmp_data);
3791bc
 	    return;
3791bc
 	}
3791bc
     } while (!havevisible(string_data->str));
3791bc
@@ -347,6 +348,7 @@ void save_bookmark_link(const char *address,
3791bc
 	LYSleepAlert();
3791bc
 	FREE(Title);
3791bc
 	FREE(bookmark_URL);
3791bc
+	BStrFree(tmp_data);
3791bc
 	return;
3791bc
     }
3791bc
 
3791bc
diff --git a/src/LYDownload.c b/src/LYDownload.c
3791bc
index cf1ea98..9cf712d 100644
3791bc
--- a/src/LYDownload.c
3791bc
+++ b/src/LYDownload.c
3791bc
@@ -456,6 +456,7 @@ void LYDownload(char *line)
3791bc
   cleanup:
3791bc
     FREE(Line);
3791bc
     BStrFree(buffer);
3791bc
+    BStrFree(command);
3791bc
     return;
3791bc
 }
3791bc
 
3791bc
diff --git a/src/LYLeaks.c b/src/LYLeaks.c
3791bc
index 2f2de28..8c236ff 100644
3791bc
--- a/src/LYLeaks.c
3791bc
+++ b/src/LYLeaks.c
3791bc
@@ -1090,26 +1090,10 @@ static char *LYLeakSAVsprintf(char **dest,
3791bc
 		mark_realloced(ALp_old, *dest, strlen(*dest) + 1, cp_File, ssi_Line);
3791bc
 		return (*dest);
3791bc
 	    }
3791bc
-	    if (vp_realloced == vp_oldAlloced) {
3791bc
-		ALp_new->SL_memory.cp_FileName = old_cp_File;
3791bc
-		ALp_new->SL_memory.ssi_LineNumber = old_ssi_Line;
3791bc
-		ALp_new->SL_realloc.cp_FileName = cp_File;
3791bc
-		ALp_new->SL_realloc.ssi_LineNumber = ssi_Line;
3791bc
-		return (*dest);
3791bc
-	    }
3791bc
-	    /* Look up again, list may have changed! - kw */
3791bc
-	    ALp_old = FindInList(vp_oldAlloced);
3791bc
-	    if (ALp_old == NULL) {
3791bc
-		ALp_new->SL_memory.cp_FileName = old_cp_File;
3791bc
-		ALp_new->SL_memory.ssi_LineNumber = old_ssi_Line;
3791bc
-		ALp_new->SL_realloc.cp_FileName = cp_File;
3791bc
-		ALp_new->SL_realloc.ssi_LineNumber = ssi_Line;
3791bc
-	    } else {
3791bc
-		ALp_new->SL_memory.cp_FileName = old_cp_File;
3791bc
-		ALp_new->SL_memory.ssi_LineNumber = old_ssi_Line;
3791bc
-		ALp_new->SL_realloc.cp_FileName = cp_File;
3791bc
-		ALp_new->SL_realloc.ssi_LineNumber = ssi_Line;
3791bc
-	    }
3791bc
+	    ALp_new->SL_memory.cp_FileName = old_cp_File;
3791bc
+	    ALp_new->SL_memory.ssi_LineNumber = old_ssi_Line;
3791bc
+	    ALp_new->SL_realloc.cp_FileName = cp_File;
3791bc
+	    ALp_new->SL_realloc.ssi_LineNumber = ssi_Line;
3791bc
 	}
3791bc
 	return (*dest);
3791bc
     }
3791bc
-- 
3791bc
2.17.2
3791bc