]> git.pld-linux.org Git - packages/capi4k-utils.git/blame - capi4k-utils-msg2str_safety.patch
- rel 5
[packages/capi4k-utils.git] / capi4k-utils-msg2str_safety.patch
CommitLineData
b0ded9b5
KK
1diff -Naur capi20.orig/capiutils.h capi20/capiutils.h
2--- capi20.orig/capiutils.h 2005-03-22 16:16:34.000000000 +0100
3+++ capi20/capiutils.h 2007-03-15 01:18:09.000000000 +0100
4@@ -308,6 +308,10 @@
5 #define capi20_cmd2str capi_cmd2str
6 char *capi_cmd2str(_cbyte cmd, _cbyte subcmd);
7
8+/*
9+ * WARNING: The following two functions use a single static buffer and
10+ * are not thread-safe.
11+ */
12 #define capi20_cmsg2str capi_cmsg2str
13 char *capi_cmsg2str(_cmsg * cmsg);
14
15diff -Naur capi20.orig/convert.c capi20/convert.c
16--- capi20.orig/convert.c 2005-05-09 10:23:01.000000000 +0200
17+++ capi20/convert.c 2007-03-15 01:20:13.000000000 +0100
18@@ -894,10 +894,14 @@
19 static void bufprint(char *fmt,...)
20 {
21 va_list f;
22+ size_t space = buf + sizeof(buf) - p, len;
23 va_start(f, fmt);
24- vsprintf(p, fmt, f);
25+ len = vsnprintf(p, space, fmt, f);
26 va_end(f);
27- p += strlen(p);
28+ if (len < space - 1)
29+ p += len;
30+ else
31+ p += space - 1;
32 }
33
34 static void printstructlen(_cbyte * m, unsigned len)
This page took 0.180538 seconds and 4 git commands to generate.