[pacman-dev,4/5] check for overflow when setting HTTP_USER_AGENT

Message ID 20170510225457.18270-4-andrew.gregory.8@gmail.com
State Accepted, archived
Headers show
Series [pacman-dev,1/5] alpm_unlock: check handle before dereferencing | expand

Commit Message

Andrew Gregory May 10, 2017, 10:54 p.m. UTC
gcc7 issues a warning about a potential overflow if left unchecked.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
---
 src/pacman/pacman.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Patch

diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 605aec3e..11b7e6f0 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -271,10 +271,15 @@  static void setuseragent(void)
 {
 	char agent[101];
 	struct utsname un;
+	int len;
 
 	uname(&un);
-	snprintf(agent, 100, "pacman/%s (%s %s) libalpm/%s",
+	len = snprintf(agent, 100, "pacman/%s (%s %s) libalpm/%s",
 			PACKAGE_VERSION, un.sysname, un.machine, alpm_version());
+	if(len >= 100) {
+		pm_printf(ALPM_LOG_WARNING, _("HTTP_USER_AGENT truncated\n"));
+	}
+
 	setenv("HTTP_USER_AGENT", agent, 0);
 }