blob: d3de936516bc5c6d675c066fcf617fd8b90b6e7d [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 077b465c33f0aec05a49cd2ca456f9a1b112e896 Mon Sep 17 00:00:00 2001
2From: sauwming <ming@teluu.com>
3Date: Wed, 26 Jan 2022 13:28:57 +0800
4Subject: [PATCH] Merge pull request from GHSA-7fw8-54cv-r7pm
5
6---
7 pjlib-util/src/pjlib-util/scanner.c | 13 +++++++++----
8 1 file changed, 9 insertions(+), 4 deletions(-)
9
10--- a/pjlib-util/src/pjlib-util/scanner.c
11+++ b/pjlib-util/src/pjlib-util/scanner.c
12@@ -444,16 +444,21 @@ PJ_DEF(void) pj_scan_get_n( pj_scanner *
13
14 PJ_DEF(int) pj_scan_get_char( pj_scanner *scanner )
15 {
16- int chr = *scanner->curptr;
17+ register char *s = scanner->curptr;
18+ int chr;
19
20- if (!chr) {
21+ if (s >= scanner->end || !*s) {
22 pj_scan_syntax_err(scanner);
23 return 0;
24 }
25
26- ++scanner->curptr;
27+ chr = *s;
28
29- if (PJ_SCAN_IS_PROBABLY_SPACE(*scanner->curptr) && scanner->skip_ws) {
30+ ++s;
31+ scanner->curptr = s;
32+ if (PJ_SCAN_CHECK_EOF(s) && PJ_SCAN_IS_PROBABLY_SPACE(*s) &&
33+ scanner->skip_ws)
34+ {
35 pj_scan_skip_whitespace(scanner);
36 }
37 return chr;