summaryrefslogtreecommitdiff
path: root/extra/yassl
diff options
context:
space:
mode:
authorShishir Jaiswal <shishir.j.jaiswal@oracle.com>2016-05-16 13:46:49 +0530
committerPrashant Tekriwal <prashant.tekriwal@oracle.com>2016-05-16 11:33:57 +0200
commit9d72fb4af0d87f6a69a3ccb9202b4029acf2bd56 (patch)
treef0390f098b09894c5f8a5f42f9931d12f61d2444 /extra/yassl
parent6768f80c0b1f0b82c5addbe47ce712ded14d0d8c (diff)
downloadmariadb-git-9d72fb4af0d87f6a69a3ccb9202b4029acf2bd56.tar.gz
Bug#21977380 - POSSIBLE BUFFER OVERFLOW ISSUES
DESCRIPTION =========== Buffer overflow is reported in a lot of code sections spanning across server, client programs, Regex libraries etc. If not handled appropriately, they can cause abnormal behaviour. ANALYSIS ======== The reported casea are the ones which are likely to result in SEGFAULT, MEMORY LEAK etc. FIX === - sprintf() has been replaced by my_snprintf() to avoid buffer overflow. - my_free() is done after checking if the pointer isn't NULL already and setting it to NULL thereafter at few places. - Buffer is ensured to be large enough to hold the data. - 'unsigned int' (aka 'uint') is replaced with 'size_t' to avoid wraparound. - Memory is freed (if not done so) after its alloced and used. - Inserted assert() for size check in InnoDb memcached code (from 5.6 onwards) - Other minor changes (cherry picked from commit 3487e20959c940cbd24429afa795ebfc8a01e94f)
Diffstat (limited to 'extra/yassl')
-rw-r--r--extra/yassl/src/log.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/extra/yassl/src/log.cpp b/extra/yassl/src/log.cpp
index 13c68295747..2f112ac35f9 100644
--- a/extra/yassl/src/log.cpp
+++ b/extra/yassl/src/log.cpp
@@ -1,6 +1,5 @@
/*
- Copyright (C) 2000-2007 MySQL AB
- Use is subject to license terms
+ Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -61,6 +60,7 @@ namespace yaSSL {
time_t clicks = time(0);
char timeStr[32];
+ memset(timeStr, 0, sizeof(timeStr));
// get rid of newline
strncpy(timeStr, ctime(&clicks), sizeof(timeStr));
unsigned int len = strlen(timeStr);