summaryrefslogtreecommitdiff
path: root/chat/centericq/patches/patch-av
blob: 43045cc7ab36f660c552e0857451047cb3c1bbdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$NetBSD: patch-av,v 1.1 2007/07/19 00:43:40 lkundrak Exp $

--- src/hooks/abstracthook.cc.orig	2007-07-19 02:24:38.000000000 +0200
+++ src/hooks/abstracthook.cc
@@ -40,6 +40,8 @@
 
 #include <time.h>
 
+#define NOTIFBUF 512
+
 time_t timer_current = time(0);
 
 abstracthook::abstracthook(protocolname aproto)
@@ -339,7 +341,7 @@ bool abstracthook::regattempt(unsigned i
 
 void abstracthook::log(logevent ev, ...) {
     va_list ap;
-    char buf[512];
+    char buf[NOTIFBUF];
     static map<logevent, string> lst;
 
     if(lst.empty()) {
@@ -354,7 +356,8 @@ void abstracthook::log(logevent ev, ...)
     }
 
     va_start(ap, ev);
-    vsprintf(buf, lst[ev].c_str(), ap);
+    vsnprintf(buf, NOTIFBUF, lst[ev].c_str(), ap);
+    buf[NOTIFBUF-1] = '\0';
     va_end(ap);
 
     face.log((string) "+ [" + conf.getprotocolname(proto)  + "] " + buf);
@@ -751,7 +754,7 @@ string abstracthook::getTimezoneIDtoStri
     if(id > 24 || id < -24) {
 	return "Unspecified";
     } else {
-	char buf[32];
+	static char buf[32];
 	sprintf(buf, "GMT %s%d:%s", id > 0 ? "-" : "+", abs(id/2), id % 2 == 0 ? "00" : "30");
 	return buf;
     }