about summary refs log tree commit diff
path: root/tests/t0108-patch.sh
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2014-01-12 16:49:40 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2014-01-12 19:32:20 +0100
commit382ecf152e1bd9546f6c84ace71c62ca07f6648b (patch)
treeb3a66c0bbab90bd5bd4abf20647c5203061099a8 /tests/t0108-patch.sh
parentfilter: split filter functions into their own file (diff)
downloadcgit-pink-382ecf152e1bd9546f6c84ace71c62ca07f6648b.tar.gz
cgit-pink-382ecf152e1bd9546f6c84ace71c62ca07f6648b.zip
cache: don't leave cache_slot fields uninitialized
Valgrind says:

==18344== Conditional jump or move depends on uninitialised value(s)
==18344==    at 0x406C83: open_slot (cache.c:63)
==18344==    by 0x407478: cache_ls (cache.c:403)
==18344==    by 0x404C9A: process_request (cgit.c:639)
==18344==    by 0x406BD2: fill_slot (cache.c:190)
==18344==    by 0x4071A0: cache_process (cache.c:284)
==18344==    by 0x404461: main (cgit.c:952)
==18344==  Uninitialised value was created by a stack allocation
==18344==    at 0x40738B: cache_ls (cache.c:375)

This is caused by the keylen field being used to calculate whether or
not a slot is matched.  We never then check the value of this and the
length of data read depends on the key length read from the file so this
isn't dangerous, but it's nice to avoid branching based on uninitialized
data.

Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to 'tests/t0108-patch.sh')
0 files changed, 0 insertions, 0 deletions
pan>Implement sizeof in orderJune McEnroe 2019-05-15Add orderJune McEnroe 2019-05-12Add T suffix in bitJune McEnroe 2019-05-10Highlight yacc and lex files as CJune McEnroe 2019-05-10Use val instead of suboptargJune McEnroe 2019-05-09Add Parable of the SowerJune McEnroe 2019-05-07Add bit without buildJune McEnroe 2019-05-04Fix MANDIR typoJune McEnroe 2019-05-04Move relay to binJune McEnroe