about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES7
-rw-r--r--WWW/Library/Implementation/HTFile.c12
-rw-r--r--src/GridText.c8
-rw-r--r--src/HTFWriter.c4
4 files changed, 14 insertions, 17 deletions
diff --git a/CHANGES b/CHANGES
index 68cbf08e..8dce8f74 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,12 @@
--- $LynxId: CHANGES,v 1.1115 2022/07/22 08:17:16 tom Exp $
+-- $LynxId: CHANGES,v 1.1118 2022/07/24 18:38:15 tom Exp $
 ===============================================================================
 Changes since Lynx 2.8 release
 ===============================================================================
 
-2022-07-21 (2.9.0dev.11)
+2022-07-24 (2.9.0dev.11)
+* correct workaround for asan2 report of overlapping strcpy (report by KH) -TD
+* amend fix for Debian #738121; URL-encoded "?" in HTFile.c corresponds to an
+  actual "?" in a file path (report by TG) -TD
 * before calling delscreen, delete the private working windows in case delwin
   invalidates those (Debian #1015756) -TD
 * add presentation type for xhtml, related state information to better handle
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 33d10ff7..457bedc1 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: HTFile.c,v 1.156 2022/04/01 00:17:51 tom Exp $
+ * $LynxId: HTFile.c,v 1.157 2022/07/24 09:47:02 tom Exp $
  *
  *			File Access				HTFile.c
  *			===========
@@ -173,15 +173,7 @@ static HTSuffix unknown_suffix =
 static void free_suffixes(void);
 #endif
 
-static char *FindSearch(const char *filename)
-{
-    char *result = 0;
-
-    if ((result = strchr(filename, '?')) == 0) {
-	result = strstr(filename, "%3F");
-    }
-    return result;
-}
+#define FindSearch(filename) strchr(filename, '?')
 
 #ifdef LONG_LIST
 static char *FormatStr(char **bufp,
diff --git a/src/GridText.c b/src/GridText.c
index 246d64e7..543966b6 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: GridText.c,v 1.340 2022/06/12 16:45:35 tom Exp $
+ * $LynxId: GridText.c,v 1.341 2022/07/24 18:35:46 tom Exp $
  *
  *		Character grid hypertext object
  *		===============================
@@ -3001,7 +3001,7 @@ static void split_line(HText *text, unsigned split)
     if (split > 0) {		/* Delete space at "split" splitting line */
 	char *prevdata = previous->data, *linedata = line->data;
 	unsigned plen;
-	int i;
+	int i, j;
 
 	/* Split the line. -FM */
 	prevdata[previous->size] = '\0';
@@ -3054,7 +3054,9 @@ static void split_line(HText *text, unsigned split)
 	    ctrl_chars_on_this_line += utfxtra_on_this_line;
 
 	    /* Add the data to the new line. -FM */
-	    for (i = 0; (linedata[i] = p[i]) != '\0'; ++i) ;
+	    for (i = 0, j = (int) strlen(linedata);
+		 (linedata[j++] = p[i++]) != '\0';
+		) ;
 	    line->size = (unsigned short) (line->size + plen);
 	}
     }
diff --git a/src/HTFWriter.c b/src/HTFWriter.c
index 9ec2bb55..9b7c0c6d 100644
--- a/src/HTFWriter.c
+++ b/src/HTFWriter.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: HTFWriter.c,v 1.123 2022/04/01 00:15:05 tom Exp $
+ * $LynxId: HTFWriter.c,v 1.124 2022/07/25 00:16:38 tom Exp $
  *
  *		FILE WRITER				HTFWrite.h
  *		===========
@@ -1169,7 +1169,7 @@ HTStream *HTCompressed(HTPresentation *pres,
 	    case cftBrotli:
 		if ((program = HTGetProgramPath(ppBROTLI)) != NULL) {
 		    StrAllocCopy(uncompress_mask, program);
-		    StrAllocCat(uncompress_mask, " -d %s");
+		    StrAllocCat(uncompress_mask, " -j -d %s");
 		    compress_suffix = "br";
 		}
 		break;