GNU bug report logs - #38794
26.1; Warnings in w32 build

Previous Next

Package: emacs;

Reported by: Cecilio Pardo <cpardo <at> imayhem.com>

Date: Sun, 29 Dec 2019 16:05:02 UTC

Severity: wishlist

Tags: patch, wontfix

Found in version 26.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Cecilio Pardo <cpardo <at> imayhem.com>
To: 38794 <at> debbugs.gnu.org
Subject: bug#38794: 26.1; Warnings in w32 build
Date: Sun, 29 Dec 2019 17:04:41 +0100
Severity: wishlist
Tags: patch

I am getting some warnings building with mingw64, using gcc 9.2.0. It
complies about possible buffer overruns with sprintf. Maybe upgrade to snprintf?

This is the warnings message:

addpm.c: In function 'main':
addpm.c:291:37: warning: '\bin\' directive writing 5 bytes into a region of size between 2 and 261 [-Wformat-overflow=]
  291 |        sprintf (full_emacs_path, "%s\\bin\\%s", emacs_path, prog_name);
      |                                     ^~~~~~~
addpm.c:291:8: note: 'sprintf' output between 18 and 277 bytes into a destination of size 261
  291 |        sprintf (full_emacs_path, "%s\\bin\\%s", emacs_path, prog_name);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


diff --git a/nt/addpm.c b/nt/addpm.c
index 3fd1b1bdc0..7da1fb5424 100644
--- a/nt/addpm.c
+++ b/nt/addpm.c
@@ -257,7 +257,7 @@ main (int argc, char *argv[])
 	      char full_emacs_path[MAX_PATH + 1];
 	      IPersistFile *lnk;
 	      strcat (start_folder, "\\Emacs.lnk");
-	      sprintf (full_emacs_path, "%s\\bin\\%s", emacs_path, prog_name);
+	      snprintf (full_emacs_path, sizeof (full_emacs_path), "%s\\bin\\%s", emacs_path, prog_name);
 	      IShellLinkA_SetPath (shortcut, full_emacs_path);
 	      IShellLinkA_SetDescription (shortcut, "GNU Emacs");
 	      result = IShellLinkA_QueryInterface (shortcut, &IID_IPersistFile,
@@ -288,7 +288,7 @@ main (int argc, char *argv[])
 	      char full_emacs_path[MAX_PATH + 1];
 	      IPersistFile *lnk;
 	      strcat (start_folder, "\\Emacs.lnk");
-	      sprintf (full_emacs_path, "%s\\bin\\%s", emacs_path, prog_name);
+	      snprintf (full_emacs_path, sizeof (full_emacs_path), "%s\\bin\\%s", emacs_path, prog_name);
 	      IShellLinkA_SetPath (shortcut, full_emacs_path);
 	      IShellLinkA_SetDescription (shortcut, "GNU Emacs");
 	      result = IShellLinkA_QueryInterface (shortcut, &IID_IPersistFile,




-- 
Cecilio Pardo




This bug report was last modified 5 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.