summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-02-16 23:56:37 +0000
committerBenny Prijono <bennylp@teluu.com>2007-02-16 23:56:37 +0000
commit7033ff9cec120e4e506067adc53ab180e00cd896 (patch)
tree0f4ef2ac5dd800e2f14b801c7515b693c9af2b38
parentab9c3ac5334c2e0666a43da968fa175aaea7f281 (diff)
Fixed ticket #106: writing data outside buffer in Win32 error string generation
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@954 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/src/pj/os_error_win32.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pjlib/src/pj/os_error_win32.c b/pjlib/src/pj/os_error_win32.c
index b9793bd6..11565e6e 100644
--- a/pjlib/src/pj/os_error_win32.c
+++ b/pjlib/src/pj/os_error_win32.c
@@ -194,6 +194,7 @@ int platform_strerror( pj_os_err_type os_errcode,
buf,
bufsize,
NULL);
+ buf[bufsize-1] = '\0';
#endif
if (len) {
@@ -208,6 +209,8 @@ int platform_strerror( pj_os_err_type os_errcode,
if (!len) {
len = pj_ansi_snprintf( buf, bufsize, "Win32 error code %u",
(unsigned)os_errcode);
+ if (len < 0 || len >= (int)bufsize)
+ len = bufsize-1;
buf[len] = '\0';
}