[nasm:master] BR 3392696: nasm_quote -- fixup callers

nasm-bot for Cyrill Gorcunov gorcunov at gmail.com
Sun Jul 12 06:09:05 PDT 2020


Commit-ID:  4c3798b7e6a1258122722d55d85ecd820721db5d
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=4c3798b7e6a1258122722d55d85ecd820721db5d
Author:     Cyrill Gorcunov <gorcunov at gmail.com>
AuthorDate: Sat, 11 Jul 2020 19:12:13 +0300
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Sun, 12 Jul 2020 06:06:02 -0700

BR 3392696: nasm_quote -- fixup callers

In 41e9682efed7cd1df133b1b4ac806e07723f1486 we've
changed the nasm_quote arguments still not all callers
were converted which could lead to nil dereference.

[hpa: no need to call strlen() for the asm/preproc.c chunk]

Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
Signed-off-by: H. Peter Anvin <hpa at zytor.com>


---
 asm/nasm.c    | 4 +++-
 asm/preproc.c | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/asm/nasm.c b/asm/nasm.c
index e9cb5c83..8b8982f2 100644
--- a/asm/nasm.c
+++ b/asm/nasm.c
@@ -454,6 +454,7 @@ static char *nasm_quote_filename(const char *fn)
 {
     const unsigned char *p =
         (const unsigned char *)fn;
+    size_t len;
 
     if (!p || !*p)
         return nasm_strdup("\"\"");
@@ -477,7 +478,8 @@ static char *nasm_quote_filename(const char *fn)
     return nasm_strdup(fn);
 
 quote:
-    return nasm_quote(fn, NULL);
+    len = strlen(fn);
+    return nasm_quote(fn, &len);
 }
 
 static void timestamp(void)
diff --git a/asm/preproc.c b/asm/preproc.c
index c72e6368..6a71ad00 100644
--- a/asm/preproc.c
+++ b/asm/preproc.c
@@ -797,7 +797,7 @@ Token *quote_token(Token *t)
  */
 static Token *quote_any_token(Token *t)
 {
-    size_t len;
+    size_t len = t->len;
     char *p;
 
     p = nasm_quote(tok_text(t), &len);


More information about the Nasm-commits mailing list