Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/bglibs-2.04+dfsg/misc/ucspi.c
Examining data/bglibs-2.04+dfsg/misc/random.c
Examining data/bglibs-2.04+dfsg/misc/utoa.c
Examining data/bglibs-2.04+dfsg/misc/strtou.c
Examining data/bglibs-2.04+dfsg/misc/utoa2.c
Examining data/bglibs-2.04+dfsg/sys/tryvfork.c
Examining data/bglibs-2.04+dfsg/sys/iopoll.c
Examining data/bglibs-2.04+dfsg/sys/trysigprocmask.c
Examining data/bglibs-2.04+dfsg/sys/trypeercred.c
Examining data/bglibs-2.04+dfsg/sys/trysysselect.c
Examining data/bglibs-2.04+dfsg/sys/tryattribute.c
Examining data/bglibs-2.04+dfsg/sys/clock_gettime.c
Examining data/bglibs-2.04+dfsg/sys/setenv.c
Examining data/bglibs-2.04+dfsg/sys/trywaitp.c
Examining data/bglibs-2.04+dfsg/sys/tryulong64.c
Examining data/bglibs-2.04+dfsg/sys/tryspnam.c
Examining data/bglibs-2.04+dfsg/sys/trysetenv.c
Examining data/bglibs-2.04+dfsg/sys/tryulong32.c
Examining data/bglibs-2.04+dfsg/sys/trydaylight.c
Examining data/bglibs-2.04+dfsg/sys/trytimespec.c
Examining data/bglibs-2.04+dfsg/sys/trynamedpipebug.c
Examining data/bglibs-2.04+dfsg/sys/trydirentino.c
Examining data/bglibs-2.04+dfsg/sys/trysendfile.c
Examining data/bglibs-2.04+dfsg/sys/tryuserpw.c
Examining data/bglibs-2.04+dfsg/sys/tryendian.c
Examining data/bglibs-2.04+dfsg/sys/tryclockgettime.c
Examining data/bglibs-2.04+dfsg/sys/trydirenttype.c
Examining data/bglibs-2.04+dfsg/sys/trynoreturn.c
Examining data/bglibs-2.04+dfsg/sys/unsetenv.c
Examining data/bglibs-2.04+dfsg/sys/trypoll.c
Examining data/bglibs-2.04+dfsg/sys/trydirent.c
Examining data/bglibs-2.04+dfsg/sys/trygetpeereid.c
Examining data/bglibs-2.04+dfsg/sys/trydl.c
Examining data/bglibs-2.04+dfsg/sys/trymkfifo.c
Examining data/bglibs-2.04+dfsg/sys/tryunaligned.c
Examining data/bglibs-2.04+dfsg/sys/trysigaction.c
Examining data/bglibs-2.04+dfsg/sys/trydeprecated.c
Examining data/bglibs-2.04+dfsg/sys/tryipv6.c
Examining data/bglibs-2.04+dfsg/sys/trysystime.c
Examining data/bglibs-2.04+dfsg/sys/tryflock.c
Examining data/bglibs-2.04+dfsg/sys/trytime.c
Examining data/bglibs-2.04+dfsg/sys/tryunsetenv.c
Examining data/bglibs-2.04+dfsg/sys/getpeereid.c
Examining data/bglibs-2.04+dfsg/sys/tryzlib.c
Examining data/bglibs-2.04+dfsg/sys/tryinline.c
Examining data/bglibs-2.04+dfsg/selftest.c
Examining data/bglibs-2.04+dfsg/dict/get.c
Examining data/bglibs-2.04+dfsg/dict/dicthash.c
Examining data/bglibs-2.04+dfsg/dict/add.c
Examining data/bglibs-2.04+dfsg/dict/str_free.c
Examining data/bglibs-2.04+dfsg/dict/foreach.c
Examining data/bglibs-2.04+dfsg/dict/init.c
Examining data/bglibs-2.04+dfsg/dict/load_map.c
Examining data/bglibs-2.04+dfsg/dict/free.c
Examining data/bglibs-2.04+dfsg/dict/load_list.c
Examining data/bglibs-2.04+dfsg/uint64/pack_msb.c
Examining data/bglibs-2.04+dfsg/uint64/unpack_lsb.c
Examining data/bglibs-2.04+dfsg/uint64/pack_lsb.c
Examining data/bglibs-2.04+dfsg/uint64/get_lsb.c
Examining data/bglibs-2.04+dfsg/uint64/unpack_msb.c
Examining data/bglibs-2.04+dfsg/uint64/get_msb.c
Examining data/bglibs-2.04+dfsg/crc-gentab.c
Examining data/bglibs-2.04+dfsg/path/mktemp.c
Examining data/bglibs-2.04+dfsg/path/mkdirs.c
Examining data/bglibs-2.04+dfsg/path/merge.c
Examining data/bglibs-2.04+dfsg/path/match.c
Examining data/bglibs-2.04+dfsg/path/fnmatch.c
Examining data/bglibs-2.04+dfsg/path/contains.c
Examining data/bglibs-2.04+dfsg/vmailmgr/vpwentry.h
Examining data/bglibs-2.04+dfsg/vmailmgr/resp_read.c
Examining data/bglibs-2.04+dfsg/vmailmgr/vpwentry_free.c
Examining data/bglibs-2.04+dfsg/vmailmgr/req_init.c
Examining data/bglibs-2.04+dfsg/vmailmgr/client.h
Examining data/bglibs-2.04+dfsg/vmailmgr/req_arg.c
Examining data/bglibs-2.04+dfsg/vmailmgr/req_write.c
Examining data/bglibs-2.04+dfsg/vmailmgr/vpwentry_export.c
Examining data/bglibs-2.04+dfsg/vmailmgr/vpwentry_import.c
Examining data/bglibs-2.04+dfsg/include/obuf.h
Examining data/bglibs-2.04+dfsg/include/adt_common.h
Examining data/bglibs-2.04+dfsg/include/hmac.h
Examining data/bglibs-2.04+dfsg/include/sha384.h
Examining data/bglibs-2.04+dfsg/include/iobuf.h
Examining data/bglibs-2.04+dfsg/include/gstack.h
Examining data/bglibs-2.04+dfsg/include/str.h
Examining data/bglibs-2.04+dfsg/include/wrap.h
Examining data/bglibs-2.04+dfsg/include/striter.h
Examining data/bglibs-2.04+dfsg/include/socket.h
Examining data/bglibs-2.04+dfsg/include/gcrc.h
Examining data/bglibs-2.04+dfsg/include/crc16_ccitt.h
Examining data/bglibs-2.04+dfsg/include/fmt.h
Examining data/bglibs-2.04+dfsg/include/base64.h
Examining data/bglibs-2.04+dfsg/include/ipv4.h
Examining data/bglibs-2.04+dfsg/include/cli.h
Examining data/bglibs-2.04+dfsg/include/md4.h
Examining data/bglibs-2.04+dfsg/include/path.h
Examining data/bglibs-2.04+dfsg/include/selfpipe.h
Examining data/bglibs-2.04+dfsg/include/ghash.h
Examining data/bglibs-2.04+dfsg/include/crc64.h
Examining data/bglibs-2.04+dfsg/include/dict.h
Examining data/bglibs-2.04+dfsg/include/surfrand.h
Examining data/bglibs-2.04+dfsg/include/ibuf.h
Examining data/bglibs-2.04+dfsg/include/msg.h
Examining data/bglibs-2.04+dfsg/include/crc16_arc.h
Examining data/bglibs-2.04+dfsg/include/crc32c.h
Examining data/bglibs-2.04+dfsg/include/crc32.h
Examining data/bglibs-2.04+dfsg/include/surf.h
Examining data/bglibs-2.04+dfsg/include/trigger.h
Examining data/bglibs-2.04+dfsg/include/sha256.h
Examining data/bglibs-2.04+dfsg/include/envstr.h
Examining data/bglibs-2.04+dfsg/include/misc.h
Examining data/bglibs-2.04+dfsg/include/debug.h
Examining data/bglibs-2.04+dfsg/include/ucspi.h
Examining data/bglibs-2.04+dfsg/include/cdb.h
Examining data/bglibs-2.04+dfsg/include/gqueue.h
Examining data/bglibs-2.04+dfsg/include/md5.h
Examining data/bglibs-2.04+dfsg/include/sha512.h
Examining data/bglibs-2.04+dfsg/include/dns.h
Examining data/bglibs-2.04+dfsg/include/ipv6.h
Examining data/bglibs-2.04+dfsg/include/iobuf_common.h
Examining data/bglibs-2.04+dfsg/include/signalfd.h
Examining data/bglibs-2.04+dfsg/include/sig.h
Examining data/bglibs-2.04+dfsg/include/unix.h
Examining data/bglibs-2.04+dfsg/include/resolve.h
Examining data/bglibs-2.04+dfsg/include/crc16_xmodem.h
Examining data/bglibs-2.04+dfsg/include/sha1.h
Examining data/bglibs-2.04+dfsg/cli/help.c
Examining data/bglibs-2.04+dfsg/cli/internal.h
Examining data/bglibs-2.04+dfsg/cli/main.c
Examining data/bglibs-2.04+dfsg/uintnn.h
Examining data/bglibs-2.04+dfsg/selftest-cmp.c
Examining data/bglibs-2.04+dfsg/net/udp4.c
Examining data/bglibs-2.04+dfsg/net/dns_ip4.c
Examining data/bglibs-2.04+dfsg/net/unixstr.c
Examining data/bglibs-2.04+dfsg/net/bind6.c
Examining data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c
Examining data/bglibs-2.04+dfsg/net/connect6_timeout.c
Examining data/bglibs-2.04+dfsg/net/dns_sort.c
Examining data/bglibs-2.04+dfsg/net/connect6.c
Examining data/bglibs-2.04+dfsg/net/dns_name4.c
Examining data/bglibs-2.04+dfsg/net/reuse.c
Examining data/bglibs-2.04+dfsg/net/dns_name6.c
Examining data/bglibs-2.04+dfsg/net/udp6.c
Examining data/bglibs-2.04+dfsg/net/ipv4_scan.c
Examining data/bglibs-2.04+dfsg/net/notcpdelay.c
Examining data/bglibs-2.04+dfsg/net/dns_transmit.c
Examining data/bglibs-2.04+dfsg/net/ipv4_format.c
Examining data/bglibs-2.04+dfsg/net/accept4.c
Examining data/bglibs-2.04+dfsg/net/connect4.c
Examining data/bglibs-2.04+dfsg/net/dns_fmt.c
Examining data/bglibs-2.04+dfsg/net/resolve_ipv4addr.c
Examining data/bglibs-2.04+dfsg/net/send4.c
Examining data/bglibs-2.04+dfsg/net/uncork.c
Examining data/bglibs-2.04+dfsg/net/resolve_ipv4name.c
Examining data/bglibs-2.04+dfsg/net/connectu.c
Examining data/bglibs-2.04+dfsg/net/dns_name6_domain.c
Examining data/bglibs-2.04+dfsg/net/dns_qualify.c
Examining data/bglibs-2.04+dfsg/net/dns_ip6.c
Examining data/bglibs-2.04+dfsg/net/listen.c
Examining data/bglibs-2.04+dfsg/net/connected.c
Examining data/bglibs-2.04+dfsg/net/broadcast.c
Examining data/bglibs-2.04+dfsg/net/dns_domain_todot.c
Examining data/bglibs-2.04+dfsg/net/linger.c
Examining data/bglibs-2.04+dfsg/net/ipv6_addr.c
Examining data/bglibs-2.04+dfsg/net/bind4.c
Examining data/bglibs-2.04+dfsg/net/pairstr.c
Examining data/bglibs-2.04+dfsg/net/shutdown.c
Examining data/bglibs-2.04+dfsg/net/dns_resolvconfrewrite.c
Examining data/bglibs-2.04+dfsg/net/recvu.c
Examining data/bglibs-2.04+dfsg/net/dns_random.c
Examining data/bglibs-2.04+dfsg/net/tcp6.c
Examining data/bglibs-2.04+dfsg/net/acceptu.c
Examining data/bglibs-2.04+dfsg/net/dns_result.c
Examining data/bglibs-2.04+dfsg/net/recv4.c
Examining data/bglibs-2.04+dfsg/net/dns_mx.c
Examining data/bglibs-2.04+dfsg/net/sendfd.c
Examining data/bglibs-2.04+dfsg/net/ipv6_scan.c
Examining data/bglibs-2.04+dfsg/net/dns_name4_domain.c
Examining data/bglibs-2.04+dfsg/net/ipv6_format.c
Examining data/bglibs-2.04+dfsg/net/dns_resolve.c
Examining data/bglibs-2.04+dfsg/net/accept6.c
Examining data/bglibs-2.04+dfsg/net/pairdgm.c
Examining data/bglibs-2.04+dfsg/net/dns_txt.c
Examining data/bglibs-2.04+dfsg/net/getaddr6.c
Examining data/bglibs-2.04+dfsg/net/resolve_calldns.c
Examining data/bglibs-2.04+dfsg/net/bindu.c
Examining data/bglibs-2.04+dfsg/net/recv6.c
Examining data/bglibs-2.04+dfsg/net/dns_rotate.c
Examining data/bglibs-2.04+dfsg/net/recvfd.c
Examining data/bglibs-2.04+dfsg/net/sendu.c
Examining data/bglibs-2.04+dfsg/net/dns_resolvconfip.c
Examining data/bglibs-2.04+dfsg/net/connectu_timeout.c
Examining data/bglibs-2.04+dfsg/net/connect4_timeout.c
Examining data/bglibs-2.04+dfsg/net/cmsg.h
Examining data/bglibs-2.04+dfsg/net/cork.c
Examining data/bglibs-2.04+dfsg/net/dns_name_packet.c
Examining data/bglibs-2.04+dfsg/net/dns_domain.c
Examining data/bglibs-2.04+dfsg/net/send6.c
Examining data/bglibs-2.04+dfsg/net/tcp4.c
Examining data/bglibs-2.04+dfsg/net/unixdgm.c
Examining data/bglibs-2.04+dfsg/net/getaddr4.c
Examining data/bglibs-2.04+dfsg/net/ipv4_addr.c
Examining data/bglibs-2.04+dfsg/net/dns_packet.c
Examining data/bglibs-2.04+dfsg/crypto/surfrand.c
Examining data/bglibs-2.04+dfsg/crypto/hmac-sha384.c
Examining data/bglibs-2.04+dfsg/crypto/surf.c
Examining data/bglibs-2.04+dfsg/crypto/sha384.c
Examining data/bglibs-2.04+dfsg/crypto/md4.c
Examining data/bglibs-2.04+dfsg/crypto/sha256.c
Examining data/bglibs-2.04+dfsg/crypto/md5.c
Examining data/bglibs-2.04+dfsg/crypto/sha1.c
Examining data/bglibs-2.04+dfsg/crypto/md5-crypt.c
Examining data/bglibs-2.04+dfsg/crypto/hmac-md5.c
Examining data/bglibs-2.04+dfsg/crypto/hmac-sha256.c
Examining data/bglibs-2.04+dfsg/crypto/sha512.c
Examining data/bglibs-2.04+dfsg/crypto/hmac.c
Examining data/bglibs-2.04+dfsg/crypto/hmac-sha512.c
Examining data/bglibs-2.04+dfsg/crypto/hmac-sha1.c
Examining data/bglibs-2.04+dfsg/fmt/pad.c
Examining data/bglibs-2.04+dfsg/fmt/ulldec.c
Examining data/bglibs-2.04+dfsg/fmt/sign_pad.c
Examining data/bglibs-2.04+dfsg/fmt/ucase.c
Examining data/bglibs-2.04+dfsg/fmt/char.c
Examining data/bglibs-2.04+dfsg/fmt/multi.c
Examining data/bglibs-2.04+dfsg/fmt/ullhexl.c
Examining data/bglibs-2.04+dfsg/fmt/unum.c
Examining data/bglibs-2.04+dfsg/fmt/snum.c
Examining data/bglibs-2.04+dfsg/fmt/chars.c
Examining data/bglibs-2.04+dfsg/fmt/ullhexu.c
Examining data/bglibs-2.04+dfsg/fmt/lcase.c
Examining data/bglibs-2.04+dfsg/fmt/slldec.c
Examining data/bglibs-2.04+dfsg/fmt/udec.c
Examining data/bglibs-2.04+dfsg/fmt/uhexu.c
Examining data/bglibs-2.04+dfsg/fmt/sdec.c
Examining data/bglibs-2.04+dfsg/fmt/uhexl.c
Examining data/bglibs-2.04+dfsg/fmt/sllnum.c
Examining data/bglibs-2.04+dfsg/fmt/ullnum.c
Examining data/bglibs-2.04+dfsg/dns-responder.c
Examining data/bglibs-2.04+dfsg/uint16/pack.c
Examining data/bglibs-2.04+dfsg/uint16/get.c
Examining data/bglibs-2.04+dfsg/uint16/unpack.c
Examining data/bglibs-2.04+dfsg/bg-installer-cli.c
Examining data/bglibs-2.04+dfsg/crc/gcrc32fwd.c
Examining data/bglibs-2.04+dfsg/crc/gcrc64fwd.c
Examining data/bglibs-2.04+dfsg/crc/gcrc16rfl.c
Examining data/bglibs-2.04+dfsg/crc/gcrc32rfl.c
Examining data/bglibs-2.04+dfsg/crc/gcrc16fwd.c
Examining data/bglibs-2.04+dfsg/crc/gcrc64rfl.c
Examining data/bglibs-2.04+dfsg/base64/decode_line.c
Examining data/bglibs-2.04+dfsg/base64/encode_line.c
Examining data/bglibs-2.04+dfsg/base64/decode_part.c
Examining data/bglibs-2.04+dfsg/base64/bin2asc.c
Examining data/bglibs-2.04+dfsg/base64/asc2bin.c
Examining data/bglibs-2.04+dfsg/base64/encode_part.c
Examining data/bglibs-2.04+dfsg/sysdeps-tail.h
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put7s.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putf.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_gets.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_stderr.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_tell.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_getc.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put6s.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_getu.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_read.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_sign_pad.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_write.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putunumw.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_copytofd.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putc.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_status.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_close.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_seek.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_copyfromfd.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put2s.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putns.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_init.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_openreadclose.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_readall.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_peek.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_getnetstring.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_refill.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putullnumw.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put5s.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_stdout.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_open.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_stdin.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putsflush.c
Examining data/bglibs-2.04+dfsg/iobuf/iobuf_timeout.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_flush.c
Examining data/bglibs-2.04+dfsg/iobuf/iobuf_init.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put3s.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_digits.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_getstr_crlf.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_endl.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_sync.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_pad.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putsllnumw.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putsnumw.c
Examining data/bglibs-2.04+dfsg/iobuf/iobuf_copy.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_putnetstring.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_init.c
Examining data/bglibs-2.04+dfsg/iobuf/obuf_put4s.c
Examining data/bglibs-2.04+dfsg/iobuf/iobuf_close.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_open.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_seek.c
Examining data/bglibs-2.04+dfsg/iobuf/ibuf_getstr.c
Examining data/bglibs-2.04+dfsg/pwcmp/hex_encode.c
Examining data/bglibs-2.04+dfsg/pwcmp/hex.h
Examining data/bglibs-2.04+dfsg/pwcmp/client.h
Examining data/bglibs-2.04+dfsg/pwcmp/module.h
Examining data/bglibs-2.04+dfsg/pwcmp/client.c
Examining data/bglibs-2.04+dfsg/pwcmp/module.c
Examining data/bglibs-2.04+dfsg/uint16.h
Examining data/bglibs-2.04+dfsg/uint64.h
Examining data/bglibs-2.04+dfsg/sysdeps-head.h
Examining data/bglibs-2.04+dfsg/msg/common.c
Examining data/bglibs-2.04+dfsg/msg/show_pid.c
Examining data/bglibs-2.04+dfsg/msg/dief.c
Examining data/bglibs-2.04+dfsg/msg/debug_bits.c
Examining data/bglibs-2.04+dfsg/msg/warn.c
Examining data/bglibs-2.04+dfsg/msg/warnf.c
Examining data/bglibs-2.04+dfsg/msg/debug_init.c
Examining data/bglibs-2.04+dfsg/msg/debug.c
Examining data/bglibs-2.04+dfsg/msg/error.c
Examining data/bglibs-2.04+dfsg/msg/wrap_alloc.c
Examining data/bglibs-2.04+dfsg/msg/oom.c
Examining data/bglibs-2.04+dfsg/msg/wrap_str.c
Examining data/bglibs-2.04+dfsg/msg/wrap_chdir.c
Examining data/bglibs-2.04+dfsg/msg/commonf.c
Examining data/bglibs-2.04+dfsg/msg/wrap_exit.c
Examining data/bglibs-2.04+dfsg/msg/die.c
Examining data/bglibs-2.04+dfsg/msg/errorf.c
Examining data/bglibs-2.04+dfsg/msg/debugf.c
Examining data/bglibs-2.04+dfsg/bg-installer.c
Examining data/bglibs-2.04+dfsg/str/case_end.c
Examining data/bglibs-2.04+dfsg/str/alloc.c
Examining data/bglibs-2.04+dfsg/str/catuw.c
Examining data/bglibs-2.04+dfsg/str/buildmap.c
Examining data/bglibs-2.04+dfsg/str/catns.c
Examining data/bglibs-2.04+dfsg/str/env_get.c
Examining data/bglibs-2.04+dfsg/str/cut.c
Examining data/bglibs-2.04+dfsg/str/diff.c
Examining data/bglibs-2.04+dfsg/str/catullnum.c
Examining data/bglibs-2.04+dfsg/str/cmp.c
Examining data/bglibs-2.04+dfsg/str/subst.c
Examining data/bglibs-2.04+dfsg/str/copy3s.c
Examining data/bglibs-2.04+dfsg/str/catxw.c
Examining data/bglibs-2.04+dfsg/str/case_match.c
Examining data/bglibs-2.04+dfsg/str/copy.c
Examining data/bglibs-2.04+dfsg/str/cat2s.c
Examining data/bglibs-2.04+dfsg/str/cat6s.c
Examining data/bglibs-2.04+dfsg/str/catiwll.c
Examining data/bglibs-2.04+dfsg/str/lower.c
Examining data/bglibs-2.04+dfsg/str/cat5s.c
Examining data/bglibs-2.04+dfsg/str/case_glob.c
Examining data/bglibs-2.04+dfsg/str/findprev.c
Examining data/bglibs-2.04+dfsg/str/catunum.c
Examining data/bglibs-2.04+dfsg/str/catf.c
Examining data/bglibs-2.04+dfsg/str/catsllnum.c
Examining data/bglibs-2.04+dfsg/str/env_from_array.c
Examining data/bglibs-2.04+dfsg/str/glob.c
Examining data/bglibs-2.04+dfsg/str/countof.c
Examining data/bglibs-2.04+dfsg/str/end.c
Examining data/bglibs-2.04+dfsg/str/findprevof.c
Examining data/bglibs-2.04+dfsg/str/env_from_string.c
Examining data/bglibs-2.04+dfsg/str/findnext.c
Examining data/bglibs-2.04+dfsg/str/cat3s.c
Examining data/bglibs-2.04+dfsg/str/init.c
Examining data/bglibs-2.04+dfsg/str/catuwll.c
Examining data/bglibs-2.04+dfsg/str/splice.c
Examining data/bglibs-2.04+dfsg/str/iter_valid.c
Examining data/bglibs-2.04+dfsg/str/digits.c
Examining data/bglibs-2.04+dfsg/str/copy4s.c
Examining data/bglibs-2.04+dfsg/str/lstrip.c
Examining data/bglibs-2.04+dfsg/str/copy6s.c
Examining data/bglibs-2.04+dfsg/str/rstrip.c
Examining data/bglibs-2.04+dfsg/str/join.c
Examining data/bglibs-2.04+dfsg/str/catsnum.c
Examining data/bglibs-2.04+dfsg/str/env_find.c
Examining data/bglibs-2.04+dfsg/str/upper.c
Examining data/bglibs-2.04+dfsg/str/env_set.c
Examining data/bglibs-2.04+dfsg/str/sort.c
Examining data/bglibs-2.04+dfsg/str/findnextof.c
Examining data/bglibs-2.04+dfsg/str/iter_advance.c
Examining data/bglibs-2.04+dfsg/str/case_start.c
Examining data/bglibs-2.04+dfsg/str/count.c
Examining data/bglibs-2.04+dfsg/str/cat4s.c
Examining data/bglibs-2.04+dfsg/str/copyf.c
Examining data/bglibs-2.04+dfsg/str/iter_start.c
Examining data/bglibs-2.04+dfsg/str/match.c
Examining data/bglibs-2.04+dfsg/str/free.c
Examining data/bglibs-2.04+dfsg/str/copy2s.c
Examining data/bglibs-2.04+dfsg/str/copy5s.c
Examining data/bglibs-2.04+dfsg/str/env_unset.c
Examining data/bglibs-2.04+dfsg/str/xlate.c
Examining data/bglibs-2.04+dfsg/str/start.c
Examining data/bglibs-2.04+dfsg/str/catiw.c
Examining data/bglibs-2.04+dfsg/str/env_put.c
Examining data/bglibs-2.04+dfsg/str/catxwll.c
Examining data/bglibs-2.04+dfsg/str/copyns.c
Examining data/bglibs-2.04+dfsg/str/cat.c
Examining data/bglibs-2.04+dfsg/str/env_make_array.c
Examining data/bglibs-2.04+dfsg/str/truncate.c
Examining data/bglibs-2.04+dfsg/unix/nonblock_on.c
Examining data/bglibs-2.04+dfsg/unix/cloexec_on.c
Examining data/bglibs-2.04+dfsg/unix/fcntl_fl_on.c
Examining data/bglibs-2.04+dfsg/unix/sig_hup.c
Examining data/bglibs-2.04+dfsg/unix/sig_catch.c
Examining data/bglibs-2.04+dfsg/unix/nonblock_off.c
Examining data/bglibs-2.04+dfsg/unix/sig_int.c
Examining data/bglibs-2.04+dfsg/unix/sig_misc.c
Examining data/bglibs-2.04+dfsg/unix/sig_pipe.c
Examining data/bglibs-2.04+dfsg/unix/sig_quit.c
Examining data/bglibs-2.04+dfsg/unix/sig_alarm.c
Examining data/bglibs-2.04+dfsg/unix/fcntl_fl_off.c
Examining data/bglibs-2.04+dfsg/unix/trigger_pull.c
Examining data/bglibs-2.04+dfsg/unix/fcntl_fd_on.c
Examining data/bglibs-2.04+dfsg/unix/selfpipe.c
Examining data/bglibs-2.04+dfsg/unix/cloexec_off.c
Examining data/bglibs-2.04+dfsg/unix/sig_suspend.c
Examining data/bglibs-2.04+dfsg/unix/signalfd.c
Examining data/bglibs-2.04+dfsg/unix/sig_bug.c
Examining data/bglibs-2.04+dfsg/unix/sig_all.c
Examining data/bglibs-2.04+dfsg/unix/trigger_set.c
Examining data/bglibs-2.04+dfsg/unix/sig_child.c
Examining data/bglibs-2.04+dfsg/unix/sig_block.c
Examining data/bglibs-2.04+dfsg/unix/sig_term.c
Examining data/bglibs-2.04+dfsg/unix/fcntl_fd_off.c
Examining data/bglibs-2.04+dfsg/cdb/get.c
Examining data/bglibs-2.04+dfsg/cdb/find.c
Examining data/bglibs-2.04+dfsg/cdb/make.h
Examining data/bglibs-2.04+dfsg/cdb/make.c
Examining data/bglibs-2.04+dfsg/cdb/cdbhash.c
Examining data/bglibs-2.04+dfsg/cdb/read.c
Examining data/bglibs-2.04+dfsg/cdb/cdb.c
Examining data/bglibs-2.04+dfsg/cdb/getnext.c
Examining data/bglibs-2.04+dfsg/bg-installer-cli.h
Examining data/bglibs-2.04+dfsg/uint32/pack_msb.c
Examining data/bglibs-2.04+dfsg/uint32/unpack_lsb.c
Examining data/bglibs-2.04+dfsg/uint32/pack_lsb.c
Examining data/bglibs-2.04+dfsg/uint32/get_lsb.c
Examining data/bglibs-2.04+dfsg/uint32/unpack_msb.c
Examining data/bglibs-2.04+dfsg/uint32/get_msb.c
Examining data/bglibs-2.04+dfsg/adt/ghash_remove.c
Examining data/bglibs-2.04+dfsg/adt/gstack_push.c
Examining data/bglibs-2.04+dfsg/adt/gqueue_pop.c
Examining data/bglibs-2.04+dfsg/adt/gqueue_top.c
Examining data/bglibs-2.04+dfsg/adt/ghash_free.c
Examining data/bglibs-2.04+dfsg/adt/ghash_foreach.c
Examining data/bglibs-2.04+dfsg/adt/ghash_get.c
Examining data/bglibs-2.04+dfsg/adt/ghash_set.c
Examining data/bglibs-2.04+dfsg/adt/gstack_top.c
Examining data/bglibs-2.04+dfsg/adt/ghash_insert.c
Examining data/bglibs-2.04+dfsg/adt/gqueue_push.c
Examining data/bglibs-2.04+dfsg/adt/ghash_rebuild.c
Examining data/bglibs-2.04+dfsg/adt/ghash_rehash.c
Examining data/bglibs-2.04+dfsg/adt/hashs.c
Examining data/bglibs-2.04+dfsg/adt/ghash_search.c
Examining data/bglibs-2.04+dfsg/adt/ghash_iter.c
Examining data/bglibs-2.04+dfsg/adt/ghash_add.c
Examining data/bglibs-2.04+dfsg/adt/gstack_pop.c
Examining data/bglibs-2.04+dfsg/adt/adt_sp.c
Examining data/bglibs-2.04+dfsg/adt/ghash_init.c
Examining data/bglibs-2.04+dfsg/adt/hashb.c
Examining data/bglibs-2.04+dfsg/uint32.h

FINAL RESULTS:

data/bglibs-2.04+dfsg/bg-installer.c:194:7:  [5] (race) chown:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchown( ) instead.
  if (chown(filename, uid, gid) != 0)
data/bglibs-2.04+dfsg/bg-installer.c:196:7:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
  if (chmod(filename, mode) != 0)
data/bglibs-2.04+dfsg/bg-installer.c:350:16:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
    if ((len = readlink(path.s, buf, sizeof buf)) == -1) {
data/bglibs-2.04+dfsg/bg-installer.c:315:7:  [4] (shell) execvp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      execvp(argv[0], (char**)argv);
data/bglibs-2.04+dfsg/net/bindu.c:31:3:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  strcpy(sa.sun_path, path);
data/bglibs-2.04+dfsg/net/connectu.c:31:3:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  strcpy(sa.sun_path, path);
data/bglibs-2.04+dfsg/pwcmp/client.c:41:16:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
  extern char* crypt(const char* key, const char* salt);
data/bglibs-2.04+dfsg/pwcmp/client.c:42:15:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
  plaintext = crypt(plaintext, encoded);
data/bglibs-2.04+dfsg/pwcmp/client.c:84:5:  [4] (shell) execlp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    execlp(module, module, NULL);
data/bglibs-2.04+dfsg/bg-installer.c:496:12:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  prefix = getenv("install_prefix");
data/bglibs-2.04+dfsg/cli/main.c:262:3:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srandom(tv.tv_usec ^ tv.tv_sec);
data/bglibs-2.04+dfsg/misc/ucspi.c:13:30:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  if (proto == 0 && (proto = getenv("PROTO")) != 0) {
data/bglibs-2.04+dfsg/misc/ucspi.c:27:10:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  return getenv(vartmp);
data/bglibs-2.04+dfsg/msg/common.c:17:24:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    msg_show_program = getenv("MSG_NO_PROGRAM") == NULL;
data/bglibs-2.04+dfsg/msg/debug_init.c:8:14:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  if ((env = getenv("MSG_DEBUG")) != 0)
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:18:7:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  x = getenv("DNSRESOLVCONF");
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:31:7:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  x = getenv("DNSCACHEPORT");
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:38:7:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  x = getenv("DNSCACHEIP");
data/bglibs-2.04+dfsg/net/dns_resolvconfrewrite.c:22:7:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  x = getenv("DNSREWRITEFILE");
data/bglibs-2.04+dfsg/net/dns_resolvconfrewrite.c:44:7:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  x = getenv("LOCALDOMAIN");
data/bglibs-2.04+dfsg/sys/setenv.c:11:21:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  if (!overwrite && getenv(name)) return 0;
data/bglibs-2.04+dfsg/adt/ghash_add.c:83:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ghash_entry_keyptr(newe), key, d->keysize);
data/bglibs-2.04+dfsg/adt/ghash_add.c:89:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ghash_entry_dataptr(newe, d->keysize), data,
data/bglibs-2.04+dfsg/adt/ghash_set.c:15:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(dataptr, data, d->entrysize - d->keysize - sizeof(adt_hash_t));
data/bglibs-2.04+dfsg/adt/gqueue_push.c:14:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(n->data, data, datasize);
data/bglibs-2.04+dfsg/adt/gstack_push.c:14:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(n->data, data, datasize);
data/bglibs-2.04+dfsg/base64/asc2bin.c:2:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const signed char base64_asc2bin[256] = {
data/bglibs-2.04+dfsg/base64/bin2asc.c:2:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char base64_bin2asc[64] =
data/bglibs-2.04+dfsg/base64/decode_line.c:5:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char tmp[3];
data/bglibs-2.04+dfsg/base64/decode_part.c:3:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
int base64_decode_part(const char encoded[4], unsigned char bin[3])
data/bglibs-2.04+dfsg/base64/decode_part.c:3:56:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
int base64_decode_part(const char encoded[4], unsigned char bin[3])
data/bglibs-2.04+dfsg/base64/encode_line.c:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char tmp[4];
data/bglibs-2.04+dfsg/base64/encode_part.c:3:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void base64_encode_whole(const unsigned char bin[3], char encoded[4])
data/bglibs-2.04+dfsg/base64/encode_part.c:3:54:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void base64_encode_whole(const unsigned char bin[3], char encoded[4])
data/bglibs-2.04+dfsg/base64/encode_part.c:11:40:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void base64_encode_part(const unsigned char bin[3], unsigned len,
data/bglibs-2.04+dfsg/base64/encode_part.c:12:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char encoded[4])
data/bglibs-2.04+dfsg/bg-installer.c:288:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char gidbuf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/bg-installer.c:289:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char uidbuf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/bg-installer.c:290:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char modebuf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/bg-installer.c:331:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[4096];
data/bglibs-2.04+dfsg/cdb/find.c:13:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf, c->map + pos, len);
data/bglibs-2.04+dfsg/cdb/find.c:41:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[32];
data/bglibs-2.04+dfsg/cdb/find.c:58:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[8];
data/bglibs-2.04+dfsg/cdb/make.c:57:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[8];
data/bglibs-2.04+dfsg/cdb/make.c:78:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[8];
data/bglibs-2.04+dfsg/cli/main.c:246:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(tmp, p, length);
data/bglibs-2.04+dfsg/crypto/hmac-md5.c:66:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[128/8];
data/bglibs-2.04+dfsg/crypto/hmac-sha1.c:19:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(mid->state, ctx->state, 5 * sizeof(mid->state[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha1.c:26:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->state, mid->state, 5 * sizeof(mid->state[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha1.c:49:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA1_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/hmac-sha256.c:15:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(mid->H, ctx->H, 8 * sizeof(mid->H[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha256.c:22:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, mid->H, 8 * sizeof(mid->H[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha256.c:46:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA256_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/hmac-sha384.c:16:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(mid->H, ctx->H, 8 * sizeof(mid->H[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha384.c:23:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, mid->H, 8 * sizeof(mid->H[0]));
data/bglibs-2.04+dfsg/crypto/hmac-sha384.c:47:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA384_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/hmac-sha512.c:16:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(mid->H, ctx->H, sizeof *mid);
data/bglibs-2.04+dfsg/crypto/hmac-sha512.c:23:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, mid->H, sizeof *mid);
data/bglibs-2.04+dfsg/crypto/hmac-sha512.c:47:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA512_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/hmac.c:37:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char state[hcb->state_size];
data/bglibs-2.04+dfsg/crypto/hmac.c:38:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char block[hcb->block_size];
data/bglibs-2.04+dfsg/crypto/hmac.c:49:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(block, secret->s, secret->len);
data/bglibs-2.04+dfsg/crypto/hmac.c:83:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char state[hcb->state_size];
data/bglibs-2.04+dfsg/crypto/hmac.c:109:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char midstate[hcb->state_size*2];
data/bglibs-2.04+dfsg/crypto/md4.c:40:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
data/bglibs-2.04+dfsg/crypto/md4.c:99:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ctx->buffer+bytes, fillbuf, 64-bytes);
data/bglibs-2.04+dfsg/crypto/md4.c:101:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ctx->buffer, fillbuf+8, 56);
data/bglibs-2.04+dfsg/crypto/md4.c:104:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ctx->buffer+bytes, fillbuf, 56-bytes);
data/bglibs-2.04+dfsg/crypto/md4.c:132:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy (&ctx->buffer[left_over], buffer, add);
data/bglibs-2.04+dfsg/crypto/md4.c:153:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy (ctx->buffer, buffer, len);
data/bglibs-2.04+dfsg/crypto/md4.c:301:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[16];
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:35:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char b64t[64] =
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:62:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char alt_result[16];
data/bglibs-2.04+dfsg/crypto/md5.c:42:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
data/bglibs-2.04+dfsg/crypto/md5.c:98:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy (&ctx->buffer[bytes], fillbuf, pad);
data/bglibs-2.04+dfsg/crypto/md5.c:123:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[BLOCKSIZE + 72];
data/bglibs-2.04+dfsg/crypto/md5.c:204:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy (&ctx->buffer[left_over], buffer, add);
data/bglibs-2.04+dfsg/crypto/md5.c:211:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	  memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~63],
data/bglibs-2.04+dfsg/crypto/md5.c:231:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy (ctx->buffer, buffer, len);
data/bglibs-2.04+dfsg/crypto/md5.c:414:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[16];
data/bglibs-2.04+dfsg/crypto/sha1.c:48:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void SHA1Transform(uint32 state[5], const unsigned char buffer[SHA1_BLOCK_LENGTH])
data/bglibs-2.04+dfsg/crypto/sha1.c:52:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char c[64];
data/bglibs-2.04+dfsg/crypto/sha1.c:56:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(block, buffer, SHA1_BLOCK_LENGTH);
data/bglibs-2.04+dfsg/crypto/sha1.c:122:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(context->buffer + blen, data, use);
data/bglibs-2.04+dfsg/crypto/sha1.c:133:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(context->buffer + blen, data, len);
data/bglibs-2.04+dfsg/crypto/sha1.c:139:44:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void SHA1Final(SHA1_CTX* context, unsigned char digest[SHA1_DIGEST_LENGTH])
data/bglibs-2.04+dfsg/crypto/sha1.c:170:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA1_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/sha256.c:133:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, H0, sizeof H0);
data/bglibs-2.04+dfsg/crypto/sha256.c:146:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ctx->M + mlen, data, use);
data/bglibs-2.04+dfsg/crypto/sha256.c:159:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->M + mlen, data, data_len);
data/bglibs-2.04+dfsg/crypto/sha256.c:188:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA256_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/sha384.c:41:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, H0, sizeof H0);
data/bglibs-2.04+dfsg/crypto/sha384.c:63:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA384_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/sha512.c:159:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->H, H0, sizeof H0);
data/bglibs-2.04+dfsg/crypto/sha512.c:171:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ctx->M + mlen, data, use);
data/bglibs-2.04+dfsg/crypto/sha512.c:184:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ctx->M + mlen, data, data_len);
data/bglibs-2.04+dfsg/crypto/sha512.c:218:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char digest[SHA512_DIGEST_LENGTH];
data/bglibs-2.04+dfsg/crypto/surfrand.c:58:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(c->seed, data, sizeof c->seed);
data/bglibs-2.04+dfsg/crypto/surfrand.c:71:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(ptr, data, words * 4);
data/bglibs-2.04+dfsg/crypto/surfrand.c:72:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, data, sizeof c->seed - i * 4);
data/bglibs-2.04+dfsg/crypto/surfrand.c:106:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf, &u, 4);
data/bglibs-2.04+dfsg/crypto/surfrand.c:112:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(buf, &u, len);
data/bglibs-2.04+dfsg/dns-responder.c:83:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)buf+offset, rr->name, rr->namelen);
data/bglibs-2.04+dfsg/dns-responder.c:90:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)buf+offset, rr->rdata, rr->rdatalen);
data/bglibs-2.04+dfsg/dns-responder.c:101:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[512];
data/bglibs-2.04+dfsg/fmt/char.c:35:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[99];
data/bglibs-2.04+dfsg/fmt/chars.c:53:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[99];
data/bglibs-2.04+dfsg/fmt/lcase.c:4:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char fmt_lcase_digits[36] = "0123456789abcdefghijklmnopqrstuvwxyz";
data/bglibs-2.04+dfsg/fmt/multi.c:276:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[100];
data/bglibs-2.04+dfsg/fmt/sign_pad.c:32:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[10];
data/bglibs-2.04+dfsg/fmt/sllnum.c:66:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/fmt/snum.c:66:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/fmt/ucase.c:4:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char fmt_ucase_digits[36] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
data/bglibs-2.04+dfsg/fmt/ullnum.c:67:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/fmt/unum.c:65:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[FMT_ULONG_LEN];
data/bglibs-2.04+dfsg/include/base64.h:8:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char base64_bin2asc[64];
data/bglibs-2.04+dfsg/include/base64.h:9:48:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern void base64_encode_whole(const unsigned char bin[3], char encoded[4]);
data/bglibs-2.04+dfsg/include/base64.h:9:61:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern void base64_encode_whole(const unsigned char bin[3], char encoded[4]);
data/bglibs-2.04+dfsg/include/base64.h:10:47:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern void base64_encode_part(const unsigned char bin[3], unsigned len,
data/bglibs-2.04+dfsg/include/base64.h:11:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			       char encoded[4]);
data/bglibs-2.04+dfsg/include/base64.h:15:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const signed char base64_asc2bin[256];
data/bglibs-2.04+dfsg/include/base64.h:16:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern int base64_decode_part(const char encoded[4],
data/bglibs-2.04+dfsg/include/base64.h:17:19:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			      unsigned char bin[3]);
data/bglibs-2.04+dfsg/include/cdb.h:48:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char final[2048];
data/bglibs-2.04+dfsg/include/fmt.h:56:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char fmt_lcase_digits[36];
data/bglibs-2.04+dfsg/include/fmt.h:57:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char fmt_ucase_digits[36];
data/bglibs-2.04+dfsg/include/gqueue.h:25:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char data[0];
data/bglibs-2.04+dfsg/include/gstack.h:25:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char data[0];
data/bglibs-2.04+dfsg/include/md4.h:89:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[64];
data/bglibs-2.04+dfsg/include/md5.h:90:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[128];
data/bglibs-2.04+dfsg/include/obuf.h:38:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char obuf_dec_digits[10] __DEPRECATED__;
data/bglibs-2.04+dfsg/include/obuf.h:39:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char obuf_hex_lcase_digits[16] __DEPRECATED__;
data/bglibs-2.04+dfsg/include/obuf.h:40:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char obuf_hex_ucase_digits[16] __DEPRECATED__;
data/bglibs-2.04+dfsg/include/sha1.h:20:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buffer[SHA1_BLOCK_LENGTH];
data/bglibs-2.04+dfsg/include/sha1.h:23:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void SHA1Transform(uint32 state[5], const unsigned char buffer[SHA1_BLOCK_LENGTH]);
data/bglibs-2.04+dfsg/include/sha1.h:26:44:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void SHA1Final(SHA1_CTX* context, unsigned char digest[SHA1_DIGEST_LENGTH]);
data/bglibs-2.04+dfsg/include/str.h:63:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char str_lcase_digits[36] __DEPRECATED__;
data/bglibs-2.04+dfsg/include/str.h:64:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char str_ucase_digits[36] __DEPRECATED__;
data/bglibs-2.04+dfsg/iobuf/ibuf_gets.c:36:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[999];
data/bglibs-2.04+dfsg/iobuf/ibuf_open.c:8:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if ((fd = open(filename, O_RDONLY)) == -1) return 0;
data/bglibs-2.04+dfsg/iobuf/ibuf_read.c:26:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(data, io->buffer+io->bufstart, len);
data/bglibs-2.04+dfsg/iobuf/ibuf_read.c:68:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(data, io->buffer+io->bufstart, len);
data/bglibs-2.04+dfsg/iobuf/ibuf_stdin.c:4:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char buffer[4096];
data/bglibs-2.04+dfsg/iobuf/obuf_digits.c:3:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char obuf_dec_digits[10] = "0123456789";
data/bglibs-2.04+dfsg/iobuf/obuf_digits.c:4:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char obuf_hex_lcase_digits[16] = "0123456789abcdef";
data/bglibs-2.04+dfsg/iobuf/obuf_digits.c:5:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char obuf_hex_ucase_digits[16] = "0123456789ABCDEF";
data/bglibs-2.04+dfsg/iobuf/obuf_open.c:8:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if ((fd = open(filename, O_WRONLY | oflags, mode)) == -1) return 0;
data/bglibs-2.04+dfsg/iobuf/obuf_putf.c:17:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[length];
data/bglibs-2.04+dfsg/iobuf/obuf_putsllnumw.c:9:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[len];
data/bglibs-2.04+dfsg/iobuf/obuf_putsnumw.c:9:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[len];
data/bglibs-2.04+dfsg/iobuf/obuf_putullnumw.c:11:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[len];
data/bglibs-2.04+dfsg/iobuf/obuf_putunumw.c:9:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[len];
data/bglibs-2.04+dfsg/iobuf/obuf_stderr.c:4:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char buffer[4096];
data/bglibs-2.04+dfsg/iobuf/obuf_stdout.c:4:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char buffer[4096];
data/bglibs-2.04+dfsg/iobuf/obuf_write.c:42:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(io->buffer+out->bufpos, data, avail);
data/bglibs-2.04+dfsg/iobuf/obuf_write.c:52:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(io->buffer+out->bufpos, data, datalen);
data/bglibs-2.04+dfsg/misc/ucspi.c:16:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(vartmp, proto, protolen);
data/bglibs-2.04+dfsg/misc/utoa.c:3:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char utoa_buf[32];
data/bglibs-2.04+dfsg/misc/utoa2.c:18:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[32];
data/bglibs-2.04+dfsg/net/accept4.c:34:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&ip->addr, (char*)&sa.sin_addr, 4);
data/bglibs-2.04+dfsg/net/accept6.c:36:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&ip->addr, (char*)&sa.sin6_addr, 16);
data/bglibs-2.04+dfsg/net/bind4.c:32:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&sa.sin_addr, &ip->addr, 4);
data/bglibs-2.04+dfsg/net/bind6.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&sa.sin6_addr, &ip->addr, 16);
data/bglibs-2.04+dfsg/net/connect4.c:33:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy((char*)&sa.sin_addr, &ip->addr, 4);
data/bglibs-2.04+dfsg/net/connect6.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy((char*)&sa.sin6_addr, &ip->addr, 16);
data/bglibs-2.04+dfsg/net/dns_domain.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(x,in,len);
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:10:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char label[63];
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:12:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[255];
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:26:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(name + namelen,label,labellen);
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:56:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(name + namelen,label,labellen);
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:66:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(x,name,namelen);
data/bglibs-2.04+dfsg/net/dns_ip4.c:9:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char header[4];
data/bglibs-2.04+dfsg/net/dns_ip4.c:12:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&out->rr.ip4[i], header, 4);
data/bglibs-2.04+dfsg/net/dns_ip4.c:36:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(out->rr.ip4, &ip, sizeof ip);
data/bglibs-2.04+dfsg/net/dns_ip6.c:9:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char header[16];
data/bglibs-2.04+dfsg/net/dns_ip6.c:12:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&out->rr.ip6[i], header, 16);
data/bglibs-2.04+dfsg/net/dns_ip6.c:37:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(out->rr.ip6, &ip6, sizeof ip6);
data/bglibs-2.04+dfsg/net/dns_ip6.c:43:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(out->rr.ip6[0].addr, IPV6ADDR_V4PREFIX.addr, 12);
data/bglibs-2.04+dfsg/net/dns_ip6.c:44:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(out->rr.ip6[0].addr+12, ip4.addr, 4);
data/bglibs-2.04+dfsg/net/dns_mx.c:18:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char pref[2];
data/bglibs-2.04+dfsg/net/dns_name4.c:8:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[DNS_NAME4_DOMAIN];
data/bglibs-2.04+dfsg/net/dns_name4_domain.c:7:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void dns_name4_domain(char name[DNS_NAME4_DOMAIN],const ipv4addr *ip)
data/bglibs-2.04+dfsg/net/dns_name4_domain.c:25:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(name + namelen,"\7in-addr\4arpa\0",14);
data/bglibs-2.04+dfsg/net/dns_name6.c:6:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[DNS_NAME6_DOMAIN];
data/bglibs-2.04+dfsg/net/dns_name6_domain.c:7:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void dns_name6_domain(char name[DNS_NAME6_DOMAIN],const ipv6addr *addr)
data/bglibs-2.04+dfsg/net/dns_name6_domain.c:20:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(name + 32*2, "\3ip6\4arpa\0", 10);
data/bglibs-2.04+dfsg/net/dns_packet.c:48:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[255];
data/bglibs-2.04+dfsg/net/dns_packet.c:103:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char header[12];
data/bglibs-2.04+dfsg/net/dns_random.c:10:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void dns_random_init(const char data[SURF_SEED])
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:62:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(ip + iplen,"\177\0\0\1",4);
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:71:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ip,"\177\0\0\1",4);
data/bglibs-2.04+dfsg/net/dns_resolvconfip.c:101:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(s,ip,64);
data/bglibs-2.04+dfsg/net/dns_resolvconfrewrite.c:13:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char host[256];
data/bglibs-2.04+dfsg/net/dns_rotate.c:15:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char tmp[stride];
data/bglibs-2.04+dfsg/net/dns_rotate.c:20:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(tmp, s + (i << shift), stride);
data/bglibs-2.04+dfsg/net/dns_rotate.c:21:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(s + (i << shift), s + (n << shift), stride);
data/bglibs-2.04+dfsg/net/dns_rotate.c:22:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(s + (n << shift), tmp, stride);
data/bglibs-2.04+dfsg/net/dns_transmit.c:15:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char out[12];
data/bglibs-2.04+dfsg/net/dns_transmit.c:24:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char out[12];
data/bglibs-2.04+dfsg/net/dns_transmit.c:36:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char out[12];
data/bglibs-2.04+dfsg/net/dns_transmit.c:217:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(d->query + 2,flagrecursive ? "\0\0\1\0\0\1\0\0\0\0\0\0" : "\0\0\0\0\0\1\0\0\0\0\0\0gcc-bug-workaround",12);
data/bglibs-2.04+dfsg/net/dns_transmit.c:218:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(d->query + 14,q,len);
data/bglibs-2.04+dfsg/net/dns_transmit.c:259:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char udpbuf[513];
data/bglibs-2.04+dfsg/net/dns_transmit.c:297:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(d->packet,udpbuf,d->packetlen);
data/bglibs-2.04+dfsg/net/getaddr4.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&addr->addr, &sa.sin_addr, 4);
data/bglibs-2.04+dfsg/net/getaddr6.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&addr->addr, &sa.sin6_addr, 16);
data/bglibs-2.04+dfsg/net/ipv4_format.c:20:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static char buf[16];
data/bglibs-2.04+dfsg/net/ipv4_format.c:32:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static char buf[16];
data/bglibs-2.04+dfsg/net/ipv4_format.c:78:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buffer[32];
data/bglibs-2.04+dfsg/net/ipv6_format.c:6:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char hex[16] = "0123456789abcdef";
data/bglibs-2.04+dfsg/net/ipv6_format.c:20:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&a4.addr, &addr->addr[12], 4);
data/bglibs-2.04+dfsg/net/ipv6_format.c:31:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static char buf[40];
data/bglibs-2.04+dfsg/net/ipv6_format.c:69:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(s, "ffff:", 5);
data/bglibs-2.04+dfsg/net/ipv6_format.c:110:24:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static void test(const char a[16])
data/bglibs-2.04+dfsg/net/ipv6_format.c:117:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&ip, a, 16);
data/bglibs-2.04+dfsg/net/recv4.c:35:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&ip->addr, &sa.sin_addr, 4);
data/bglibs-2.04+dfsg/net/recv6.c:37:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&ip->addr, &sa.sin6_addr, 16);
data/bglibs-2.04+dfsg/net/recvfd.c:28:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char cbuf[CMSG_SPACE(sizeof(int))];
data/bglibs-2.04+dfsg/net/recvfd.c:42:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(&fd, CMSG_DATA(cm), sizeof fd);
data/bglibs-2.04+dfsg/net/send4.c:32:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy((char*)&sa.sin_addr, &ip->addr, 4);
data/bglibs-2.04+dfsg/net/send6.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy((char*)&sa.sin6_addr, &ip->addr, 16);
data/bglibs-2.04+dfsg/net/sendfd.c:30:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[CMSG_SPACE(sizeof(int))];  /* ancillary data buffer */
data/bglibs-2.04+dfsg/net/sendfd.c:40:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(CMSG_DATA(cmsg), &fd, sizeof fd);
data/bglibs-2.04+dfsg/path/match.c:195:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  close(open("[test]/.file", O_WRONLY | O_CREAT | O_TRUNC, 0666));
data/bglibs-2.04+dfsg/path/match.c:196:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  close(open("[test]/[f2]", O_WRONLY | O_CREAT | O_TRUNC, 0666));
data/bglibs-2.04+dfsg/path/mkdirs.c:28:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char prefix[i+1];
data/bglibs-2.04+dfsg/path/mkdirs.c:29:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(prefix, path, i);
data/bglibs-2.04+dfsg/path/mktemp.c:31:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  return open(filename->s, O_RDWR | O_EXCL | O_CREAT, 0600);
data/bglibs-2.04+dfsg/pwcmp/client.c:59:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[1];
data/bglibs-2.04+dfsg/pwcmp/hex.h:5:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern const char hex_digits[16];
data/bglibs-2.04+dfsg/pwcmp/hex_encode.c:20:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char hex_digits[16] = "0123456789abcdef";
data/bglibs-2.04+dfsg/pwcmp/module.c:22:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char buf[4096];
data/bglibs-2.04+dfsg/pwcmp/module.c:61:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char tmp[1];
data/bglibs-2.04+dfsg/selftest-cmp.c:28:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[7*in->len];
data/bglibs-2.04+dfsg/str/case_glob.c:14:59:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static unsigned make_set(const char* pptr, unsigned plen, char set[256])
data/bglibs-2.04+dfsg/str/case_glob.c:66:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char set[256];
data/bglibs-2.04+dfsg/str/case_glob.c:124:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char set[256];
data/bglibs-2.04+dfsg/str/cat.c:46:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(s->s+s->len, in, len);
data/bglibs-2.04+dfsg/str/cat2s.c:30:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/cat2s.c:31:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/cat3s.c:31:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/cat3s.c:32:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/cat3s.c:33:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/cat4s.c:33:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/cat4s.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/cat4s.c:35:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/cat4s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/cat5s.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/cat5s.c:35:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/cat5s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/cat5s.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/cat5s.c:38:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, e, elen); ptr += elen;
data/bglibs-2.04+dfsg/str/cat6s.c:35:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/cat6s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/cat6s.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/cat6s.c:38:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/cat6s.c:39:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, e, elen); ptr += elen;
data/bglibs-2.04+dfsg/str/cat6s.c:40:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, f, flen); ptr += flen;
data/bglibs-2.04+dfsg/str/copy.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(s->s, in, len);
data/bglibs-2.04+dfsg/str/copy2s.c:31:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/copy2s.c:32:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/copy3s.c:32:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/copy3s.c:33:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/copy3s.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/copy4s.c:34:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/copy4s.c:35:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/copy4s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/copy4s.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/copy5s.c:35:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/copy5s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/copy5s.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/copy5s.c:38:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/copy5s.c:39:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, e, elen); ptr += elen;
data/bglibs-2.04+dfsg/str/copy6s.c:36:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, a, alen); ptr += alen;
data/bglibs-2.04+dfsg/str/copy6s.c:37:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, b, blen); ptr += blen;
data/bglibs-2.04+dfsg/str/copy6s.c:38:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, c, clen); ptr += clen;
data/bglibs-2.04+dfsg/str/copy6s.c:39:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, d, dlen); ptr += dlen;
data/bglibs-2.04+dfsg/str/copy6s.c:40:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, e, elen); ptr += elen;
data/bglibs-2.04+dfsg/str/copy6s.c:41:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, f, flen); ptr += flen;
data/bglibs-2.04+dfsg/str/digits.c:4:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char str_lcase_digits[36] = "0123456789abcdefghijklmnopqrstuvwxyz";
data/bglibs-2.04+dfsg/str/digits.c:7:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char str_ucase_digits[36] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
data/bglibs-2.04+dfsg/str/glob.c:14:59:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static unsigned make_set(const char* pptr, unsigned plen, char set[256])
data/bglibs-2.04+dfsg/str/glob.c:62:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char set[256];
data/bglibs-2.04+dfsg/str/glob.c:116:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char set[256];
data/bglibs-2.04+dfsg/str/join.c:50:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(s->s+len1, in+off2, len2);
data/bglibs-2.04+dfsg/str/splice.c:46:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(s->s + start, r, rlen);
data/bglibs-2.04+dfsg/sys/setenv.c:15:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(newenv, name, namelen);
data/bglibs-2.04+dfsg/sys/setenv.c:17:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(newenv+namelen+1, value, valuelen+1);
data/bglibs-2.04+dfsg/sys/trynamedpipebug.c:15:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  fd = open(filename, O_RDONLY | O_NDELAY);
data/bglibs-2.04+dfsg/sys/trypoll.c:9:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  x.fd = open("sys/trypoll.c",O_RDONLY);
data/bglibs-2.04+dfsg/sys/tryvfork.c:3:3:  [2] (race) vfork:
  On some old systems, vfork() permits race conditions, and it's very
  difficult to use correctly (CWE-362). Use fork() instead.
  vfork();
data/bglibs-2.04+dfsg/uint16/get.c:5:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint16 uint16_get_lsb(const unsigned char s[2])
data/bglibs-2.04+dfsg/uint16/get.c:12:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint16 uint16_get_msb(const unsigned char s[2])
data/bglibs-2.04+dfsg/uint16/pack.c:4:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint16_pack_lsb(uint16 u, unsigned char s[2])
data/bglibs-2.04+dfsg/uint16/pack.c:12:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint16_pack_msb(uint16 u, unsigned char s[2])
data/bglibs-2.04+dfsg/uint16/unpack.c:4:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint16_unpack_lsb(const unsigned char s[2], uint16* u)
data/bglibs-2.04+dfsg/uint16/unpack.c:11:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint16_unpack_msb(const unsigned char s[2], uint16* u)
data/bglibs-2.04+dfsg/uint32/get_lsb.c:4:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint32 uint32_get_lsb(const unsigned char b[4])
data/bglibs-2.04+dfsg/uint32/get_msb.c:4:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint32 uint32_get_msb(const unsigned char b[4])
data/bglibs-2.04+dfsg/uint32/pack_lsb.c:4:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint32_pack_lsb(uint32 u, unsigned char b[4])
data/bglibs-2.04+dfsg/uint32/pack_msb.c:4:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint32_pack_msb(uint32 u, unsigned char b[4])
data/bglibs-2.04+dfsg/uint32/unpack_lsb.c:4:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint32_unpack_lsb(const unsigned char b[4], uint32* u)
data/bglibs-2.04+dfsg/uint32/unpack_msb.c:4:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint32_unpack_msb(const unsigned char b[4], uint32* u)
data/bglibs-2.04+dfsg/uint64/get_lsb.c:5:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint64 uint64_get_lsb(const unsigned char b[4])
data/bglibs-2.04+dfsg/uint64/get_msb.c:5:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
uint64 uint64_get_msb(const unsigned char b[4])
data/bglibs-2.04+dfsg/uint64/pack_lsb.c:5:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint64_pack_lsb(uint64 u, unsigned char b[4])
data/bglibs-2.04+dfsg/uint64/pack_msb.c:5:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint64_pack_msb(uint64 u, unsigned char b[4])
data/bglibs-2.04+dfsg/uint64/unpack_lsb.c:5:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint64_unpack_lsb(const unsigned char b[4], uint64* u)
data/bglibs-2.04+dfsg/uint64/unpack_msb.c:5:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void uint64_unpack_msb(const unsigned char b[4], uint64* u)
data/bglibs-2.04+dfsg/uintnn.h:19:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ uint##B uint##B##_get_lsb(const unsigned char b[N]) \
data/bglibs-2.04+dfsg/uintnn.h:22:65:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ void uint##B##_pack_lsb(uint##B u, unsigned char b[N]) \
data/bglibs-2.04+dfsg/uintnn.h:25:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ void uint##B##_unpack_lsb(const unsigned char b[N], uint##B *u) \
data/bglibs-2.04+dfsg/uintnn.h:38:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ uint##B uint##B##_get_msb(const unsigned char b[N]) \
data/bglibs-2.04+dfsg/uintnn.h:41:65:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ void uint##B##_pack_msb(uint##B u, unsigned char b[N]) \
data/bglibs-2.04+dfsg/uintnn.h:44:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static __inline__ void uint##B##_unpack_msb(const unsigned char b[N], uint##B *u) \
data/bglibs-2.04+dfsg/unix/signalfd.c:81:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char buf[4];
data/bglibs-2.04+dfsg/unix/trigger_pull.c:10:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if ((fd = open(path, O_WRONLY | O_NDELAY)) >= 0) {
data/bglibs-2.04+dfsg/unix/trigger_set.c:21:19:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if ((io[0].fd = open(path, O_RDONLY | O_NDELAY)) == -1)
data/bglibs-2.04+dfsg/unix/trigger_set.c:26:19:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if ((io[1].fd = open(path, O_WRONLY | O_NDELAY)) == -1)
data/bglibs-2.04+dfsg/vmailmgr/req_write.c:9:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[VCLIENT_MAXLEN+3];
data/bglibs-2.04+dfsg/vmailmgr/req_write.c:17:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(ptr, vr->data.s, vr->data.len);
data/bglibs-2.04+dfsg/vmailmgr/resp_read.c:8:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char buf[3];
data/bglibs-2.04+dfsg/bg-installer.c:357:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (len != (int)strlen(src)
data/bglibs-2.04+dfsg/cdb/find.c:20:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        r = read(c->fd,buf,len);
data/bglibs-2.04+dfsg/cli/help.c:37:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      width += strlen(o->name);
data/bglibs-2.04+dfsg/cli/help.c:82:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    obuf_pad(&outbuf, maxwidth - strlen(o->name) - strlen(extra) + 2, ' ');
data/bglibs-2.04+dfsg/cli/help.c:82:52:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    obuf_pad(&outbuf, maxwidth - strlen(o->name) - strlen(extra) + 2, ' ');
data/bglibs-2.04+dfsg/cli/main.c:128:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  int end = strlen(argv[0]) - 1;
data/bglibs-2.04+dfsg/cli/main.c:194:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      size_t len = strlen(o->name);
data/bglibs-2.04+dfsg/crc-gentab.c:19:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  int width = (bits+3)/4 + strlen(suffix) + 1;
data/bglibs-2.04+dfsg/crypto/hmac-md5.c:64:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str key_str = { (char*)key, strlen(key), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-md5.c:65:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str data_str = { (char*)data, strlen(data), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha1.c:47:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str key_str = { (char*)key, strlen(key), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha1.c:48:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str data_str = { (char*)data, strlen(data), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha256.c:44:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str key_str = { (char*)key, strlen(key), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha256.c:45:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str data_str = { (char*)data, strlen(data), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha384.c:45:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str key_str = { (char*)key, strlen(key), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha384.c:46:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str data_str = { (char*)data, strlen(data), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha512.c:45:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str key_str = { (char*)key, strlen(key), 0 };
data/bglibs-2.04+dfsg/crypto/hmac-sha512.c:46:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const str data_str = { (char*)data, strlen(data), 0 };
data/bglibs-2.04+dfsg/crypto/md4.c:302:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned int len = strlen(s);
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:77:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  key_len = strlen (key);
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:165:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy (buffer, md5_salt_prefix, MAX (0, buflen));
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:166:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  buflen -= strlen (md5_salt_prefix);
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:167:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  cp = buffer + strlen (md5_salt_prefix);
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:169:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy (cp, salt, MIN ((size_t) buflen, salt_len));
data/bglibs-2.04+dfsg/crypto/md5-crypt.c:225:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  int needed = 3 + strlen (salt) + 1 + 26 + 1;
data/bglibs-2.04+dfsg/crypto/md5.c:415:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned int len = strlen(s);
data/bglibs-2.04+dfsg/crypto/sha256.c:190:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  SHA256_update(&ctx, s, strlen(s));
data/bglibs-2.04+dfsg/crypto/sha384.c:65:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  SHA384_update(&ctx, s, strlen(s));
data/bglibs-2.04+dfsg/crypto/sha512.c:220:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  SHA512_update(&ctx, s, strlen(s));
data/bglibs-2.04+dfsg/fmt/chars.c:41:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return fmt_mem(buffer, s, strlen(s), width, pad);
data/bglibs-2.04+dfsg/fmt/multi.c:123:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    prefixlen = strlen(prefix);
data/bglibs-2.04+dfsg/fmt/multi.c:139:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    prefixlen = strlen(prefix);
data/bglibs-2.04+dfsg/include/obuf.h:74:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define obuf_puts(out,str) obuf_write(out,str,strlen(str))
data/bglibs-2.04+dfsg/iobuf/ibuf_getc.c:21:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  0, (ibuf_fn)read
data/bglibs-2.04+dfsg/iobuf/ibuf_getnetstring.c:36:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  0, (ibuf_fn)read
data/bglibs-2.04+dfsg/iobuf/ibuf_gets.c:31:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  0, (ibuf_fn)read
data/bglibs-2.04+dfsg/iobuf/ibuf_getstr_crlf.c:40:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  0, (ibuf_fn)read
data/bglibs-2.04+dfsg/iobuf/ibuf_init.c:7:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (fn == 0) fn = (ibuf_fn)read;
data/bglibs-2.04+dfsg/iobuf/ibuf_stdin.c:8:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	       0, (ibuf_fn)read };
data/bglibs-2.04+dfsg/iobuf/obuf_copyfromfd.c:11:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if ((rd = read(in,
data/bglibs-2.04+dfsg/misc/ucspi.c:14:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    protolen = strlen(proto);
data/bglibs-2.04+dfsg/misc/ucspi.c:26:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(vartmp + protolen, name, MAXNAME);
data/bglibs-2.04+dfsg/net/connected.c:32:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read(sock,&ch,1);
data/bglibs-2.04+dfsg/net/dns_domain_fromdot.c:92:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  debugfn(dns_domain_fromdot(&name, dot, strlen(dot)));
data/bglibs-2.04+dfsg/net/dns_ip4.c:40:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!dns_domain_fromdot(&q,fqdn,strlen(fqdn))) return -1;
data/bglibs-2.04+dfsg/net/dns_ip6.c:48:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!dns_domain_fromdot(&q,fqdn,strlen(fqdn))) return -1;
data/bglibs-2.04+dfsg/net/dns_mx.c:43:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!dns_domain_fromdot(&q,fqdn,strlen(fqdn))) return -1;
data/bglibs-2.04+dfsg/net/dns_transmit.c:334:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r = read(fd,&ch,1);
data/bglibs-2.04+dfsg/net/dns_transmit.c:347:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r = read(fd,&ch,1);
data/bglibs-2.04+dfsg/net/dns_transmit.c:365:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    r = read(fd,d->packet + d->pos,d->packetlen - d->pos);
data/bglibs-2.04+dfsg/net/dns_txt.c:53:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!dns_domain_fromdot(&q,fqdn,strlen(fqdn))) return -1;
data/bglibs-2.04+dfsg/path/contains.c:29:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  long partlen = strlen(part);
data/bglibs-2.04+dfsg/path/contains.c:30:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  const char* pathend = path + strlen(path);
data/bglibs-2.04+dfsg/path/fnmatch.c:47:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  t.len = strlen(filename);
data/bglibs-2.04+dfsg/path/match.c:51:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (!str_catb(result, entry->d_name, strlen(entry->d_name)+1)) {
data/bglibs-2.04+dfsg/path/match.c:85:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    !str_catb(result, entry->d_name, strlen(entry->d_name)+1)) {
data/bglibs-2.04+dfsg/path/match.c:141:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  patend = pattern + strlen(pattern);
data/bglibs-2.04+dfsg/path/merge.c:68:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (!path_merge_part(path, start, strlen(start))) return 0;
data/bglibs-2.04+dfsg/path/mkdirs.c:19:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  i = strlen(path);
data/bglibs-2.04+dfsg/pwcmp/client.c:60:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!rwrite(fd0, plaintext, strlen(plaintext)+1)) return -1;
data/bglibs-2.04+dfsg/pwcmp/client.c:61:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (!rwrite(fd0, encoded, strlen(encoded)+1)) return -1;
data/bglibs-2.04+dfsg/pwcmp/client.c:62:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (read(fd1, buf, 1) != 1) return -1;
data/bglibs-2.04+dfsg/pwcmp/module.c:50:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if ((rd = read(0, buf + buflen, sizeof buf - buflen)) == 0 ||
data/bglibs-2.04+dfsg/selftest.c:63:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  long len = strlen(content);
data/bglibs-2.04+dfsg/str/case_end.c:41:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_case_endb(a, b, strlen(b));
data/bglibs-2.04+dfsg/str/case_glob.c:150:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return glob_match(s, 0, pattern, strlen(pattern));
data/bglibs-2.04+dfsg/str/case_glob.c:164:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  s.len = strlen(string);
data/bglibs-2.04+dfsg/str/case_glob.c:167:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  p.len = strlen(pattern);
data/bglibs-2.04+dfsg/str/case_match.c:65:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_case_matchb(s, pattern, strlen(pattern));
data/bglibs-2.04+dfsg/str/case_start.c:41:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_case_startb(a, b, strlen(b));
data/bglibs-2.04+dfsg/str/cat.c:30:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_catb(s, in, strlen(in));
data/bglibs-2.04+dfsg/str/cat2s.c:25:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/cat2s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/cat3s.c:25:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/cat3s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/cat3s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/cat4s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/cat4s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/cat4s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/cat4s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/cat5s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/cat5s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/cat5s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/cat5s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/cat5s.c:30:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned elen = strlen(e);
data/bglibs-2.04+dfsg/str/cat6s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/cat6s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/cat6s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/cat6s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/cat6s.c:30:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned elen = strlen(e);
data/bglibs-2.04+dfsg/str/cat6s.c:31:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned flen = strlen(f);
data/bglibs-2.04+dfsg/str/cmp.c:36:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_cmpb(a, offset, b, strlen(b));
data/bglibs-2.04+dfsg/str/copy.c:30:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_copyb(s, in, strlen(in));
data/bglibs-2.04+dfsg/str/copy2s.c:25:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/copy2s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/copy3s.c:25:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/copy3s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/copy3s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/copy4s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/copy4s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/copy4s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/copy4s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/copy5s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/copy5s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/copy5s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/copy5s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/copy5s.c:30:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned elen = strlen(e);
data/bglibs-2.04+dfsg/str/copy6s.c:26:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned alen = strlen(a);
data/bglibs-2.04+dfsg/str/copy6s.c:27:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned blen = strlen(b);
data/bglibs-2.04+dfsg/str/copy6s.c:28:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned clen = strlen(c);
data/bglibs-2.04+dfsg/str/copy6s.c:29:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned dlen = strlen(d);
data/bglibs-2.04+dfsg/str/copy6s.c:30:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned elen = strlen(e);
data/bglibs-2.04+dfsg/str/copy6s.c:31:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned flen = strlen(f);
data/bglibs-2.04+dfsg/str/diff.c:37:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_diffb(a, b, strlen(b));
data/bglibs-2.04+dfsg/str/end.c:25:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_endb(a, b, strlen(b));
data/bglibs-2.04+dfsg/str/env_from_string.c:11:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  while ((len = strlen(s)) > 0) {
data/bglibs-2.04+dfsg/str/env_get.c:9:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  long varlen = strlen(var);
data/bglibs-2.04+dfsg/str/env_put.c:14:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  varlen = (found == 0) ? (long)strlen(asgn) : found - asgn;
data/bglibs-2.04+dfsg/str/env_put.c:18:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    str_spliceb(env, found - env->s, strlen(found) + 1, 0, 0);
data/bglibs-2.04+dfsg/str/env_set.c:9:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if ((found = envstr_find(env, var, strlen(var))) != 0) {
data/bglibs-2.04+dfsg/str/env_set.c:12:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    str_spliceb(env, found - env->s, strlen(found) + 1, 0, 0);
data/bglibs-2.04+dfsg/str/env_unset.c:9:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  unsigned long varlen = strlen(var);
data/bglibs-2.04+dfsg/str/env_unset.c:11:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    unsigned long foundlen = strlen(found) + 1;
data/bglibs-2.04+dfsg/str/glob.c:137:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return glob_match(s, 0, pattern, strlen(pattern));
data/bglibs-2.04+dfsg/str/glob.c:151:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  s.len = strlen(string);
data/bglibs-2.04+dfsg/str/glob.c:154:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  p.len = strlen(pattern);
data/bglibs-2.04+dfsg/str/join.c:30:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_joinb(s, sep, in, strlen(in));
data/bglibs-2.04+dfsg/str/match.c:57:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_matchb(s, pattern, strlen(pattern));
data/bglibs-2.04+dfsg/str/splice.c:30:40:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_spliceb(s, start, len, r, strlen(r));
data/bglibs-2.04+dfsg/str/start.c:25:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return str_startb(a, b, strlen(b));
data/bglibs-2.04+dfsg/sys/setenv.c:12:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  namelen = strlen(name);
data/bglibs-2.04+dfsg/sys/setenv.c:13:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  valuelen = strlen(value);
data/bglibs-2.04+dfsg/sys/unsetenv.c:10:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    unsigned long len = strlen(name);
data/bglibs-2.04+dfsg/unix/selfpipe.c:80:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read before SIGCHLD", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:83:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after SIGCHLD", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:84:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("second read", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:87:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after two SIGCHLDs", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:88:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("second read", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:90:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after close", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/selfpipe.c:99:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read before SIGCHLD: -1
data/bglibs-2.04+dfsg/unix/selfpipe.c:101:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after SIGCHLD: 1
data/bglibs-2.04+dfsg/unix/selfpipe.c:102:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
second read: -1
data/bglibs-2.04+dfsg/unix/selfpipe.c:103:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after two SIGCHLDs: 2
data/bglibs-2.04+dfsg/unix/selfpipe.c:104:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
second read: -1
data/bglibs-2.04+dfsg/unix/selfpipe.c:105:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after close: -1
data/bglibs-2.04+dfsg/unix/signalfd.c:92:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read before SIGCHLD", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:96:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after SIGCHLD", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:98:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("second read", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:101:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after two SIGCHLDs", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:102:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("second read", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:104:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  puti("read after close", read(fd, &buf, sizeof buf));
data/bglibs-2.04+dfsg/unix/signalfd.c:112:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read before SIGCHLD: -1
data/bglibs-2.04+dfsg/unix/signalfd.c:114:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after SIGCHLD: 1
data/bglibs-2.04+dfsg/unix/signalfd.c:116:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
second read: -1
data/bglibs-2.04+dfsg/unix/signalfd.c:117:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after two SIGCHLDs: 2
data/bglibs-2.04+dfsg/unix/signalfd.c:118:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
second read: -1
data/bglibs-2.04+dfsg/unix/signalfd.c:119:1:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
read after close: -1
data/bglibs-2.04+dfsg/vmailmgr/resp_read.c:13:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (read(fd, buf, 3) != 3) return 0;
data/bglibs-2.04+dfsg/vmailmgr/resp_read.c:18:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if ((rd = read(fd, ptr, length)) == (unsigned)-1)
data/bglibs-2.04+dfsg/vmailmgr/vpwentry_import.c:55:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ptr += strlen(ptr) + 1;

ANALYSIS SUMMARY:

Hits = 482
Lines analyzed = 22218 in approximately 0.83 seconds (26640 lines/second)
Physical Source Lines of Code (SLOC) = 15820
Hits@level = [0]  16 [1] 160 [2] 301 [3]  12 [4]   6 [5]   3
Hits@level+ = [0+] 498 [1+] 482 [2+] 322 [3+]  21 [4+]   9 [5+]   3
Hits/KSLOC@level+ = [0+] 31.4791 [1+] 30.4678 [2+] 20.354 [3+] 1.32743 [4+] 0.5689 [5+] 0.189633
Symlinks skipped = 1 (--allowlink overrides but see doc for security issue)
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.