summaryrefslogtreecommitdiff
path: root/mysys/Makefile.am
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.(none)>2006-05-01 22:10:50 -0400
committerunknown <cmiller@zippy.(none)>2006-05-01 22:10:50 -0400
commit3010890e589de89d2f5bb4c0e2c3a0b06b827b10 (patch)
treee1be3b9af9e1eb4a72abb369924831d5a8129301 /mysys/Makefile.am
parent8eb2b474b335973dcd2a2aa8c1fa5c097d46cc50 (diff)
downloadmariadb-git-3010890e589de89d2f5bb4c0e2c3a0b06b827b10.tar.gz
SECURITY FIX
Bug#17667: An attacker has the opportunity to bypass query logging. This adds a new, local-only printf format specifier to our *printf functions that allows us to print known-size buffers that must not be interpreted as NUL-terminated "strings." It uses this format-specifier to print to the log, thus fixing this problem. include/my_sys.h: Add prototype for my_memmem() . mysys/Makefile.am: Add reference to new file, my_memmem.c mysys/mf_iocache2.c: Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s", but unlike the string-indicator, it requires the width and doesn't stop printing at NUL characters. Also, simplify the code a bit. TODO: This code should be unified with the strings/my_vnsprintf.c code in the future. sql/sql_parse.cc: The query is not a C-string, but is a sized buffer, containing any character at all, which may include NUL characters. strings/my_vsnprintf.c: Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s", but unlike the string-indicator, it requires the width and doesn't stop printing at NUL characters. tests/Makefile.am: We may need some of our local functions. tests/mysql_client_test.c: Add a "%.1234b" and "%.*b" percent-code. It takes a width, just like "%s", but unlike the string-indicator, it requires the width and doesn't stop printing at NUL characters. mysql-test/t/mysql_client_test.opt: New BitKeeper file ``mysql-test/t/mysql_client_test.opt'' Add '--log' server parameter. mysys/my_memmem.c: New BitKeeper file ``mysys/my_memmem.c'' Implement memmem, a black-box work-alike of the GNU memmem(), which functions like strstr() but for arbitrary blocks of memory.
Diffstat (limited to 'mysys/Makefile.am')
-rw-r--r--mysys/Makefile.am1
1 files changed, 1 insertions, 0 deletions
diff --git a/mysys/Makefile.am b/mysys/Makefile.am
index ee0dcb544b6..d9de36d4e45 100644
--- a/mysys/Makefile.am
+++ b/mysys/Makefile.am
@@ -55,6 +55,7 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \
charset.c charset-def.c my_bitmap.c my_bit.c md5.c \
my_gethostbyname.c rijndael.c my_aes.c sha1.c \
my_handler.c my_netware.c my_largepage.c \
+ my_memmem.c \
my_windac.c my_access.c base64.c
EXTRA_DIST = thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c \
thr_mutex.c thr_rwlock.c