bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38794: 26.1; Warnings in w32 build


From: Cecilio Pardo
Subject: bug#38794: 26.1; Warnings in w32 build
Date: Sun, 29 Dec 2019 17:04:41 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (windows-nt)

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]