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

nasm-bot for Cyrill Gorcunov gorcunov at gmail.com
Sat Jul 11 09:21:07 PDT 2020


Commit-ID:  6c300aa4882bc1662df899501f23ff5a93a3547f
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=6c300aa4882bc1662df899501f23ff5a93a3547f
Author:     Cyrill Gorcunov <gorcunov at gmail.com>
AuthorDate: Sat, 11 Jul 2020 19:12:13 +0300
Committer:  Cyrill Gorcunov <gorcunov at gmail.com>
CommitDate: Sat, 11 Jul 2020 19:18:30 +0300

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.

Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>


---
 asm/nasm.c    | 4 +++-
 asm/preproc.c | 5 +++--
 2 files changed, 6 insertions(+), 3 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 fc1b0df1..8fb9dfbb 100644
--- a/asm/preproc.c
+++ b/asm/preproc.c
@@ -797,10 +797,11 @@ Token *quote_token(Token *t)
  */
 static Token *quote_any_token(Token *t)
 {
-    size_t len;
+    const char *s = tok_text(t);
+    size_t len = strlen(s);
     char *p;
 
-    p = nasm_quote(tok_text(t), &len);
+    p = nasm_quote(s, &len);
     t->type = TOK_STRING;
     return set_text_free(t, p, len);
 }


More information about the Nasm-commits mailing list