==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_7ac07a33-f314-4394-ad9a-38c45bf4ebc0]...done ==> Making package: gnutls 3.8.11-2.1 (Sun Nov 23 09:59:32 2025) ==> Retrieving sources... -> Downloading gnutls-3.8.11.tar.xz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 6777k 14 978944 0 0 2129k 0 0:00:03 --:--:-- 0:00:03 2129k 100 6777k 100 6777k 0 0 5964k 0 0:00:01 0:00:01 --:--:-- 5965k -> Downloading gnutls-3.8.11.tar.xz.sig... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 566 100 566 0 0 3996 0 --:--:-- --:--:-- --:--:-- 4014 -> Found config ==> Validating source files with sha256sums... gnutls-3.8.11.tar.xz ... Passed gnutls-3.8.11.tar.xz.sig ... Skipped config ... Passed ==> Verifying source file signatures with gpg... gnutls-3.8.11.tar.xz ... Passed ==> Making package: gnutls 3.8.11-2.1 (Sun Nov 23 08:59:36 2025) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (12) New Version Net Change extra/docbook-xml 4.5-11 1.96 MiB extra/docbook-xsl 1.79.2-9 26.32 MiB core/efivar 39-1 0.53 MiB core/glib2-docs 2.86.2-1 66.16 MiB extra/libxslt 1.1.43-2 0.78 MiB core/mpdecimal 4.0.1-1 0.33 MiB core/python 3.13.7-1 67.54 MiB extra/python-lxml 6.0.2-1 5.86 MiB extra/python-pygments 2.19.2-1 14.38 MiB extra/gtk-doc 1.35.1-1 3.09 MiB core/net-tools 2.10-3 0.48 MiB extra/tpm2-tools 5.7-1 1.44 MiB Total Installed Size: 188.87 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing docbook-xml... installing libxslt... Optional dependencies for libxslt python: Python bindings [pending] installing docbook-xsl... installing glib2-docs... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-lxml... Optional dependencies for python-lxml python-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML python-cssselect: support for cssselect python-html5lib: support for html5lib parser python-lxml-docs: offline docs python-lxml-html-clean: enable htmlclean feature installing python-pygments... installing gtk-doc... Optional dependencies for gtk-doc dblatex: PDF support installing net-tools... installing efivar... installing tpm2-tools... Optional dependencies for tpm2-tools tpm2-abrmd: user space resource manager :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found gnutls-3.8.11.tar.xz -> Found gnutls-3.8.11.tar.xz.sig -> Found config ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting gnutls-3.8.11.tar.xz with bsdtar ==> Starting prepare()... autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: running: autopoint --force autopoint: using AM_GNU_GETTEXT_REQUIRE_VERSION instead of AM_GNU_GETTEXT_VERSION Copying file m4/build-to-host.m4 Copying file m4/gettext.m4 Copying file m4/host-cpu-c-abi.m4 Copying file m4/iconv.m4 Copying file m4/intlmacosx.m4 Copying file m4/lib-link.m4 Copying file m4/nls.m4 Copying file m4/po.m4 Copying file m4/progtest.m4 Copying file po/Makefile.in.in Copying file po/Makevars.template autoreconf: running: aclocal --force -I m4 -I src/gl/m4 -I lib/unistring/m4 --install aclocal: overwriting 'm4/libtool.m4' with '/usr/share/aclocal/libtool.m4' aclocal: overwriting 'm4/ltoptions.m4' with '/usr/share/aclocal/ltoptions.m4' aclocal: overwriting 'm4/ltversion.m4' with '/usr/share/aclocal/ltversion.m4' aclocal: overwriting 'm4/pkg.m4' with '/usr/share/aclocal/pkg.m4' autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: copying file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' autoreconf: configure.ac: not using Intltool autoreconf: running: gtkdocize --copy autoreconf: running: aclocal --force -I m4 -I src/gl/m4 -I lib/unistring/m4 --install autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:39: installing 'build-aux/compile' configure.ac:29: installing 'build-aux/missing' aminclude_static.am:52: warning: if $(CODE_COVERAGE_BRANCH_COVERAGE: non-POSIX variable name aminclude_static.am:52: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:59: warning: if $(CODE_COVERAGE_BRANCH_COVERAGE: non-POSIX variable name aminclude_static.am:59: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:63: warning: ':='-style assignments are not portable Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:64: warning: code_coverage_v_lcov_cap_$(V: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:65: warning: code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:67: warning: code_coverage_v_lcov_ign_$(V: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:68: warning: code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:70: warning: code_coverage_v_genhtml_$(V: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:71: warning: code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:73: warning: code_coverage_quiet_$(V: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:74: warning: code_coverage_quiet_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:78: warning: subst -,_,$(subst .,_,$(1: non-POSIX variable name aminclude_static.am:78: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:87: warning: addprefix --directory ,$(CODE_COVERAGE_DIRECTORY: non-POSIX variable name aminclude_static.am:87: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:87: warning: call code_coverage_sanitize,$(PACKAGE_NAME: non-POSIX variable name aminclude_static.am:87: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:88: warning: addprefix --directory ,$(CODE_COVERAGE_DIRECTORY: non-POSIX variable name aminclude_static.am:88: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:90: warning: addprefix --prefix ,$(CODE_COVERAGE_DIRECTORY: non-POSIX variable name aminclude_static.am:90: (probably a GNU make extension) Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:100: warning: ':='-style assignments are not portable Makefile.am:170: 'aminclude_static.am' included from here aminclude_static.am:100: warning: AM_DISTCHECK_CONFIGURE_FLAGS was already defined in condition TRUE, which includes condition CODE_COVERAGE_ENABLED ... Makefile.am:170: 'aminclude_static.am' included from here Makefile.am:23: ... 'AM_DISTCHECK_CONFIGURE_FLAGS' previously defined here doc/Makefile.am: installing 'build-aux/depcomp' autoreconf: Leaving directory '.' ==> Starting build()... checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar *** *** Checking for compilation programs... checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether the compiler is clang... no checking for compiler option needed when checking for declarations... none checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... gcc3 checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for wchar.h... yes checking for minix/config.h... no checking for sys/socket.h... yes checking for arpa/inet.h... yes checking for features.h... yes checking for stdbool.h... yes checking for byteswap.h... yes checking for sys/param.h... yes checking for sys/time.h... yes checking for netdb.h... yes checking for netinet/in.h... yes checking for limits.h... yes checking for threads.h... yes checking for sys/mman.h... yes checking for pthread.h... yes checking for stdckdint.h... yes checking for sys/uio.h... yes checking for crtdefs.h... no checking for error.h... yes checking for stdio_ext.h... yes checking for termios.h... yes checking for sys/select.h... yes checking for endian.h... yes checking for sys/endian.h... no checking for langinfo.h... yes checking for xlocale.h... no checking for semaphore.h... yes checking for math.h... yes checking for sys/wait.h... yes checking for sys/ioctl.h... yes checking for sys/un.h... yes checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking how to run the C preprocessor... gcc -E checking for egrep -e... /usr/bin/grep -E checking for Minix Amsterdam compiler... no checking for ar... ar checking the archiver (ar) interface... ar checking for ar... (cached) ar checking for ranlib... ranlib checking for gcc option to support large files... none needed checking dependency style of gcc... gcc3 checking the archiver (ar) interface... (cached) ar checking for g++... g++ checking whether the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking dependency style of g++... gcc3 checking for bison... bison -y checking for a sed that does not truncate output... /usr/bin/sed checking whether to build with code coverage support... no checking whether to enable maintainer-specific portions of Makefiles... yes checking for faketime... no checking for datefudge... no checking whether faketime program works... no checking for inline... inline checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for cpuid.h... yes checking for __get_cpuid_count... yes checking for struct iovec.iov_base... yes checking for netinet/tcp.h... yes checking for stdatomic.h... yes checking for library containing __atomic_load_4... -latomic checking for threads.h... (cached) yes checking for sanitizer/asan_interface.h... yes checking for valgrind/memcheck.h... no checking for getrandom... yes checking for KERN_ARND... no checking for getentropy... no checking for nettle >= 3.10... yes checking for hogweed >= 3.10 ... yes checking for __gmpz_cmp in -lgmp... yes checking for libtasn1 >= 4.9... yes checking whether to use the included minitasn1... no checking whether to disable strict DER time encodings for backwards compatibility... no checking whether to allow SHA1 as an acceptable hash for cert digital signatures... yes checking whether to disable the SSL 3.0 protocol... yes checking whether to disable the SSL 2.0 client hello... no checking whether to disable DTLS-SRTP extension... no checking whether to disable ALPN extension... no checking whether to enable TLS heartbeat support... no checking whether to enable SRP authentication support... no checking whether to disable PSK authentication support... no checking whether to disable anonymous authentication support... no checking whether to disable DHE support... no checking whether to disable ECDHE support... no checking whether to disable GOST support... no checking whether to add cryptodev support... no checking whether to add AF_ALG support... no checking whether to add KTLS support... yes checking whether KTLS is supported by the OS... checking for linux/tls.h... yes checking whether to disable OCSP support... no checking whether to enable crypto-auditing trace support... no checking for sys/sdt.h... yes checking whether defines DTRACE_PROBE... yes checking size of void *... 8 checking size of long long... 8 checking size of long... 8 checking size of int... 4 checking for library containing setsockopt... none needed checking whether to build OpenSSL compatibility layer... yes checking for gtk-doc... yes checking for gtkdoc-check... gtkdoc-check.test checking for gtkdoc-check... /usr/bin/gtkdoc-check checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf checking whether to build gtk-doc documentation... no checking for glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0... yes checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking 32-bit host C ABI... no checking for ELF binary format... yes checking for the common suffixes of directories in the library search path... lib,lib,lib64 checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyPreferredLanguages... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking whether byte ordering is bigendian... no checking for fork... yes checking for setitimer... yes checking for getrusage... yes checking for getpwuid_r... yes checking for nanosleep... yes checking for daemon... yes checking for getpid... yes checking for localtime... yes checking for mmap... yes checking for clock_gettime... yes checking for fmemopen... yes checking for __register_atfork... yes checking for secure_getenv... yes checking for getauxval... yes checking for elf_aux_info... no checking for libseccomp... yes checking how to link with libseccomp... /usr/lib/libseccomp.so checking for libcrypto... yes checking how to link with libcrypto... /usr/lib/libcrypto.so od: cannot skip past end of combined input od: cannot skip past end of combined input checking for librt... yes checking how to link with librt... -lrt checking for pthread_mutex_lock... yes checking for library containing u8_normalize... -lunistring checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking whether the preprocessor supports include_next... yes checking whether source code line length is unlimited... yes checking whether lstat correctly handles trailing slash... yes checking for canonicalize_file_name... yes checking for realpath... yes checking for lstat... yes checking for _set_invalid_parameter_handler... no checking for explicit_bzero... yes checking for fcntl... yes checking for symlink... yes checking for getdtablesize... yes checking for gettimeofday... yes checking for mbsinit... yes checking for mbrtowc... yes checking for mprotect... yes checking for memset_s... no checking for readlink... yes checking for secure_getenv... (cached) yes checking for getuid... yes checking for geteuid... yes checking for getgid... yes checking for getegid... yes checking for snprintf... yes checking for strndup... yes checking for localtime_r... yes checking for vasnprintf... no checking for getpass... yes checking for getexecname... no checking for setenv... yes checking for __xpg_strerror_r... yes checking for isblank... yes checking for pipe... yes checking for pselect... yes checking for pthread_sigmask... yes checking for sleep... yes checking for shutdown... yes checking for usleep... yes checking for mquery... no checking for pstat_getprocvm... no checking for gcc options needed to detect all undeclared functions... none needed checking whether // is distinct from /... no checking whether realpath works... yes checking for faccessat... yes checking for getcwd... yes checking for complete errno.h... yes checking whether ctype.h defines __header_inline... no checking for working fcntl.h... yes checking for pid_t... yes checking for mode_t... yes checking whether byte ordering is bigendian... (cached) no checking whether fopen recognizes a trailing slash... yes checking whether fflush works on input streams... yes checking whether fclose works on input streams... yes checking whether stat file-mode macros are broken... no checking for C/C++ restrict keyword... __restrict__ checking for nlink_t... yes checking whether stdin defaults to large file offsets... yes checking for off64_t... yes checking whether ftello is declared... yes checking whether ungetc works on arbitrary bytes... yes checking for ftello... yes checking whether ftello works... yes checking whether getdelim is declared... yes checking whether getdtablesize is declared... yes checking whether getline is declared... yes checking for struct timeval... yes checking for wide-enough struct timeval.tv_sec member... yes checking whether is self-contained... yes checking for shutdown... (cached) yes checking whether defines the SHUT_* macros... yes checking for struct sockaddr_storage... yes checking for sa_family_t... yes checking for struct sockaddr_storage.ss_family... yes checking for IPv4 sockets... yes checking for IPv6 sockets... yes checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... yes checking whether limits.h has SSIZE_MAX... yes checking for wint_t... yes checking whether wint_t is large enough... yes checking whether the compiler produces multi-arch binaries... no checking whether stdint.h conforms to C99... yes checking whether stdint.h works without ISO C predefines... yes checking whether stdint.h has UINTMAX_WIDTH etc.... yes checking whether imported symbols can be declared weak... yes checking for pthread.h... (cached) yes checking for pthread_kill in -lpthread... yes checking whether POSIX threads API is available... yes checking for multithread API to use... posix checking whether malloc is ptrdiff_t safe... yes checking whether malloc, realloc, calloc set errno on failure... yes checking whether malloc (0) returns nonnull... yes checking for mbstate_t... yes checking for nl_langinfo and CODESET... yes checking for a traditional japanese locale... none checking for an english Unicode locale... en_US.UTF-8 checking for a transitional chinese locale... none checking whether mbrtowc handles incomplete characters... yes checking whether mbrtowc works as well as mbtowc... guessing yes checking for mmap... (cached) yes checking for MAP_ANONYMOUS... yes checking whether memchr works... yes checking whether memmem is declared... yes checking whether defines MIN and MAX... no checking whether defines MIN and MAX... yes checking for O_CLOEXEC... yes checking for promoted mode_t type... mode_t checking for pthread_t... yes checking for pthread_spinlock_t... yes checking for pthread_spin_init... yes checking whether realloc should abort upon undefined behaviour... no checking for glibc-compatible sys/cdefs.h... yes checking for sched.h... yes checking for struct sched_param... yes checking whether snprintf returns a byte count as in C99... yes checking whether printf supports POSIX/XSI format strings with positions... yes checking whether snprintf is declared... yes checking for good max_align_t... yes checking whether NULL can be used in arbitrary expressions... yes checking for unreachable... yes checking whether nullptr_t needs ... yes checking for clean definition of __STDC_VERSION_STDDEF_H__... no checking whether fcloseall is declared... yes checking whether getw is declared... yes checking whether putw is declared... yes checking which flavor of printf attribute matches inttypes macros... system checking whether ecvt is declared... yes checking whether fcvt is declared... yes checking whether gcvt is declared... yes checking whether MB_CUR_MAX is correct... yes checking whether strdup is declared... yes checking whether strndup is declared... yes checking whether strnlen is declared... yes checking whether strtok_r is declared... yes checking for struct timespec in ... yes checking for TIME_UTC in ... yes checking whether execvpe is declared... yes checking for inttypes.h... yes checking for stdint.h... yes checking for intmax_t... yes checking whether snprintf truncates the result as in C99... yes checking where to find the exponent in a 'double'... word 1 bit 20 checking for wcslen... yes checking for snprintf... (cached) yes checking for strnlen... yes checking for wcrtomb... yes checking whether _snprintf is declared... no checking whether vsnprintf is declared... yes checking whether uses 'inline' correctly... yes checking whether wcsdup is declared... yes checking for C compiler option to allow warnings... -Wno-error checking for alignas and alignof... yes, keywords checking for alloca as a compiler built-in... yes checking for static_assert... yes, a keyword checking for bool, true, false... yes checking for __builtin_expect... yes checking for working bswap_16, bswap_32, bswap_64... yes checking whether // is distinct from /... (cached) no checking whether dup2 works... yes checking whether fcntl handles F_DUPFD correctly... yes checking whether fcntl understands F_DUPFD_CLOEXEC... needs runtime check checking whether float.h conforms to ISO C23... yes checking whether conversion from 'int' to 'long double' works... yes checking whether fopen supports the mode character 'x'... yes checking whether fopen supports the mode character 'e'... yes checking whether free is known to preserve errno... yes checking for ftello... (cached) yes checking whether ftello works... (cached) yes checking whether __func__ is available... yes checking for getdelim... yes checking for working getdelim function... yes checking whether getdtablesize works... yes checking for getline... yes checking for working getline function... yes checking for gettimeofday with POSIX signature... yes checking for library containing inet_ntop... none required checking whether inet_ntop is declared... yes checking for library containing inet_pton... none required checking whether inet_pton is declared... yes checking for objdump... objdump checking if gcc/ld supports -Wl,--output-def... no checking if LD -Wl,--version-script works... yes checking whether the compiler supports the __inline keyword... yes checking for pthread_rwlock_t... yes checking whether pthread_rwlock_rdlock prefers a writer to a reader... no checking whether lseek detects pipes... yes checking whether SEEK_DATA works but is incompatible with GNU... no checking for memmem... yes checking whether memmem works... yes checking for mempcpy... yes checking for memset_explicit... no checking for explicit_memset... no checking whether is self-contained... yes checking whether open recognizes a trailing slash... yes checking for pmccabe... false checking for PTHREAD_CREATE_DETACHED... yes checking for PTHREAD_MUTEX_RECURSIVE... yes checking for PTHREAD_MUTEX_ROBUST... yes checking for PTHREAD_PROCESS_SHARED... yes checking whether pthread_once works... yes checking for rawmemchr... yes checking whether readlink signature is correct... yes checking whether readlink handles trailing slash correctly... yes checking whether readlink truncates results correctly... yes checking whether realloc (..., 0) returns nonnull... no checking for stdint.h... (cached) yes checking for SIZE_MAX... yes checking for snprintf... (cached) yes checking whether snprintf respects a size of 1... yes checking for socklen_t... yes checking for ssize_t... yes checking whether stat handles trailing slashes on files... yes checking for struct stat.st_atim.tv_nsec... yes checking whether struct stat.st_atim is of type struct timespec... yes checking for struct stat.st_birthtimespec.tv_nsec... no checking for struct stat.st_birthtimensec... no checking for struct stat.st_birthtim.tv_nsec... no checking for stpcpy... yes checking for strcasecmp... yes checking for strncasecmp... yes checking whether strncasecmp is declared... yes checking for working strndup... yes checking for working strnlen... yes checking for strtok_r... yes checking whether strtok_r works... yes checking for strverscmp... yes checking whether strverscmp works... yes checking whether localtime_r is declared... yes checking whether localtime_r is compatible with its POSIX signature... yes checking for variable-length arrays... yes checking for ptrdiff_t... yes checking for vasprintf... yes checking for vsnprintf... yes checking whether snprintf respects a size of 1... (cached) yes checking for stdint.h... (cached) yes checking if environ is properly declared... yes checking for error... yes checking whether error_at_line is declared... yes checking for error_at_line... yes checking for working error function... yes checking whether strerror_r is declared... yes checking whether strerror_r returns char *... yes checking whether fseeko is declared... yes checking for fseeko... yes checking whether fflush works on input streams... (cached) yes checking for library containing gethostbyname... none required checking for gethostbyname... yes checking for library containing getservbyname... none required checking for getservbyname... yes checking whether fflush_unlocked is declared... yes checking whether flockfile is declared... yes checking whether fputs_unlocked is declared... yes checking whether funlockfile is declared... yes checking whether putc_unlocked is declared... yes checking whether timespec_get is declared... yes checking for timespec_get... yes checking whether INT32_MAX < INTMAX_MAX... yes checking whether INT64_MAX == LONG_MAX... yes checking whether UINT32_MAX < UINTMAX_MAX... yes checking whether UINT64_MAX == ULONG_MAX... yes checking whether time_t is signed... yes checking whether alarm is declared... yes checking for working mktime... yes checking for compound literals... yes checking for struct tm.tm_gmtoff... yes checking for struct tm.tm_zone... yes checking whether is self-contained... yes checking whether setenv is declared... yes checking whether _putenv is declared... no checking for search.h... yes checking for tsearch... yes checking for sigset_t... yes checking for uid_t... yes checking for gid_t... yes checking for volatile sig_atomic_t... yes checking for sighandler_t... yes checking whether strerror(0) succeeds... yes checking for strerror_r... yes checking for strerror_r with POSIX signature... no checking whether __xpg_strerror_r works... yes checking whether unsetenv is declared... yes checking for C++ compiler option to allow warnings... -Wno-error checking for a traditional french locale... none checking for a turkish Unicode locale... none checking if endian.h defines stdint types... no checking if endian.h defines functions and macros... yes checking whether getcwd (NULL, 0) allocates memory for result... yes checking for getcwd with POSIX signature... yes checking where to find the exponent in a 'float'... word 0 bit 23 checking whether long double and double are the same... no checking where to find the exponent in a 'long double'... word 2 bit 0 checking whether langinfo.h defines CODESET... yes checking whether langinfo.h defines T_FMT_AMPM... yes checking whether langinfo.h defines ALTMON_1... yes checking whether langinfo.h defines ERA... yes checking whether langinfo.h defines YESEXPR... yes checking whether locale.h defines locale_t... yes checking whether locale.h conforms to POSIX:2001... yes checking whether struct lconv is properly defined... yes checking for LC_MESSAGES... yes checking for uselocale... yes checking whether uselocale works... yes checking for fake locale system (OpenBSD)... no checking for Solaris 11.4 locale system... no checking for getlocalename_l... no checking for library needed for semaphore functions... none checking whether NAN macro works... yes checking whether HUGE_VAL works... yes checking whether initstate is declared... yes checking whether setstate is declared... yes checking whether setlocale (LC_ALL, NULL) is multithread-safe... yes checking whether setlocale (category, NULL) is multithread-safe... yes checking for a french Unicode locale... none checking whether declares ioctl... yes checking for alignas and alignof... (cached) yes, keywords checking for alloca as a compiler built-in... (cached) yes checking for static_assert... (cached) yes, a keyword checking for bool, true, false... (cached) yes checking for __builtin_expect... (cached) yes checking for working bswap_16, bswap_32, bswap_64... (cached) yes checking whether calloc (0, n) and calloc (n, 0) return nonnull... yes checking for library containing clock_gettime... none required checking for clock_getres... yes checking for clock_gettime... yes checking for clock_settime... yes checking whether // is distinct from /... (cached) no checking whether dup2 works... (cached) yes checking whether fcntl handles F_DUPFD correctly... (cached) yes checking whether fcntl understands F_DUPFD_CLOEXEC... (cached) needs runtime check checking for flexible array member... yes checking whether float.h conforms to ISO C23... (cached) yes checking whether conversion from 'int' to 'long double' works... (cached) yes checking whether fopen supports the mode character 'x'... (cached) yes checking whether fopen supports the mode character 'e'... (cached) yes checking for __fpending... yes checking whether __fpending is declared... yes checking whether free is known to preserve errno... (cached) yes checking for fseeko... (cached) yes checking whether fflush works on input streams... (cached) yes checking for ftello... (cached) yes checking whether ftello works... (cached) yes checking whether __func__ is available... (cached) yes checking for library containing getaddrinfo... none required checking for getaddrinfo... yes checking whether gai_strerror is declared... yes checking whether gai_strerrorA is declared... no checking for gai_strerror with POSIX signature... yes checking for struct sockaddr.sa_len... no checking whether getaddrinfo is declared... yes checking whether freeaddrinfo is declared... yes checking whether getnameinfo is declared... yes checking for struct addrinfo... yes checking for getdelim... (cached) yes checking for working getdelim function... (cached) yes checking whether getdtablesize works... (cached) yes checking for getline... (cached) yes checking for working getline function... (cached) yes checking for getprogname... no checking whether program_invocation_name is declared... yes checking whether program_invocation_name is declared... (cached) yes checking whether program_invocation_short_name is declared... yes checking whether __argv is declared... no checking for gettimeofday with POSIX signature... (cached) yes checking for library containing gethostbyname... (cached) none required checking for gethostbyname... (cached) yes checking for library containing inet_ntop... (cached) none required checking whether inet_ntop is declared... (cached) yes checking for library containing inet_pton... (cached) none required checking whether inet_pton is declared... (cached) yes checking whether the compiler supports the __inline keyword... (cached) yes checking for pthread_rwlock_t... (cached) yes checking whether pthread_rwlock_rdlock prefers a writer to a reader... (cached) no checking whether lseek detects pipes... (cached) yes checking whether SEEK_DATA works but is incompatible with GNU... (cached) no checking for memmem... (cached) yes checking whether memmem works... (cached) yes checking for mempcpy... (cached) yes checking for memset_explicit... (cached) no checking for explicit_memset... (cached) no checking for __mktime_internal... no checking whether is self-contained... (cached) yes checking whether open recognizes a trailing slash... (cached) yes checking for bison... bison checking for bison 2.4 or newer... 3.8.2, ok checking whether program_invocation_name is declared... (cached) yes checking whether program_invocation_short_name is declared... (cached) yes checking for PTHREAD_CREATE_DETACHED... (cached) yes checking for PTHREAD_MUTEX_RECURSIVE... (cached) yes checking for PTHREAD_MUTEX_ROBUST... (cached) yes checking for PTHREAD_PROCESS_SHARED... (cached) yes checking whether pthread_once works... (cached) yes checking for rawmemchr... (cached) yes checking whether readlink signature is correct... (cached) yes checking whether readlink handles trailing slash correctly... (cached) yes checking whether readlink truncates results correctly... (cached) yes checking whether realloc (..., 0) returns nonnull... (cached) no checking for reallocarray... yes checking whether select supports a 0 argument... yes checking whether select detects invalid fds... yes checking for library containing getservbyname... (cached) none required checking for getservbyname... (cached) yes checking whether setenv validates arguments... yes checking for stdint.h... (cached) yes checking for SIZE_MAX... (cached) yes checking for snprintf... (cached) yes checking whether snprintf respects a size of 1... (cached) yes checking for socklen_t... (cached) yes checking for ssize_t... (cached) yes checking whether stat handles trailing slashes on files... (cached) yes checking for struct stat.st_atim.tv_nsec... (cached) yes checking whether struct stat.st_atim is of type struct timespec... (cached) yes checking for struct stat.st_birthtimespec.tv_nsec... (cached) no checking for struct stat.st_birthtimensec... (cached) no checking for struct stat.st_birthtim.tv_nsec... (cached) no checking for stpcpy... (cached) yes checking for strcasecmp... (cached) yes checking for strncasecmp... (cached) yes checking whether strncasecmp is declared... (cached) yes checking for working strerror function... yes checking for working strndup... (cached) yes checking for working strnlen... (cached) yes checking for strtok_r... (cached) yes checking whether strtok_r works... (cached) yes checking for strverscmp... (cached) yes checking whether strverscmp works... (cached) yes checking whether localtime_r is declared... (cached) yes checking whether localtime_r is compatible with its POSIX signature... (cached) yes checking whether localtime works even near extrema... yes checking for timezone_t... no checking for tzalloc... no checking for timegm... yes checking for unsetenv... yes checking for unsetenv() return type... int checking whether unsetenv obeys POSIX... yes checking for variable-length arrays... (cached) yes checking for ptrdiff_t... (cached) yes checking for vasprintf... (cached) yes checking for vsnprintf... (cached) yes checking whether snprintf respects a size of 1... (cached) yes checking for stdint.h... (cached) yes checking whether fdopen sets errno... yes checking for ftruncate... yes checking for getpagesize... yes checking whether getpagesize is declared... yes checking whether htons is declared... yes checking whether htonl is declared... yes checking whether ntohs is declared... yes checking whether ntohl is declared... yes checking whether byte ordering is bigendian... (cached) no checking whether byte ordering is bigendian... (cached) no checking for ioctl... yes checking for ioctl with POSIX signature... no checking whether isnan(double) can be used without linking with libm... yes checking whether isnan(float) can be used without linking with libm... yes checking whether isnan(float) works... yes checking whether isnan(long double) can be used without linking with libm... yes checking whether isnanl works... yes checking for newlocale... yes checking for newlocale... (cached) yes checking for newlocale... (cached) yes checking for duplocale... yes checking for freelocale... yes checking for library containing nanosleep... none required checking for working nanosleep... no (mishandles large arguments) checking whether perror matches strerror... yes checking whether signature of pselect conforms to POSIX... yes checking whether pselect detects invalid fds... yes checking for pthread_mutexattr_getrobust... yes checking for pthread_rwlock_init... yes checking whether pthread_rwlock_timedrdlock is declared... yes checking for reasonable pthread_rwlock wait queue handling... no checking whether pthread_create exists as a global function... yes checking whether pthread_mutex_timedlock is declared... yes checking for pthread_mutex_timedlock... yes checking whether pthread_sigmask is a macro... no checking whether pthread_sigmask works without -lpthread... yes checking whether pthread_sigmask returns error numbers... yes checking whether pthread_sigmask unblocks signals correctly... guessing yes checking for putenv compatible with GNU and SVID... yes checking for raise... yes checking for sigprocmask... yes checking for random... yes checking for initstate... yes checking for setstate... yes checking for random.h... no checking for struct random_data... yes checking for random_r... yes checking whether sched_yield is declared... yes checking whether setlocale supports the C locale... yes checking whether setlocale (LC_ALL, NULL) is multithread-safe... (cached) yes checking whether setlocale (category, NULL) is multithread-safe... (cached) yes checking for signbit macro... yes checking for signbit compiler built-ins... yes checking for sigprocmask... (cached) yes checking whether sleep is declared... yes checking for working sleep... yes checking for catgets... yes checking whether symlink handles trailing slash correctly... yes checking for IPv4 sockets... (cached) yes checking for IPv6 sockets... (cached) yes checking for UNIX domain sockets... yes checking for pthread_atfork... yes checking for sys/single_threaded.h... yes checking whether time() works... guessing no checking for struct tm.tm_gmtoff... (cached) yes checking for struct tm.tm_zone... (cached) yes checking for useconds_t... yes checking whether usleep allows large arguments... yes checking for bool, true, false... (cached) yes checking whether the compiler generally respects inline... yes checking for ssize_t... (cached) yes checking for libev... no checking whether C compiler handles -Werror -Wunknown-warning-option... no checking whether C compiler handles -Wtype-limits... yes checking whether -Wno-missing-field-initializers is needed... no checking whether -Wuninitialized is supported... yes checking whether C compiler handles -fanalyzer... yes checking whether C compiler handles -fstrict-flex-arrays... yes checking whether C compiler handles -Wall... yes checking whether C compiler handles -Wbad-function-cast... yes checking whether C compiler handles -Wcast-align=strict... yes checking whether C compiler handles -Wdate-time... yes checking whether C compiler handles -Wdisabled-optimization... yes checking whether C compiler handles -Wdouble-promotion... yes checking whether C compiler handles -Wduplicated-branches... yes checking whether C compiler handles -Wduplicated-cond... yes checking whether C compiler handles -Wextra... yes checking whether C compiler handles -Wflex-array-member-not-at-end... yes checking whether C compiler handles -Winit-self... yes checking whether C compiler handles -Winvalid-pch... yes checking whether C compiler handles -Wlogical-op... yes checking whether C compiler handles -Wmissing-declarations... yes checking whether C compiler handles -Wmissing-include-dirs... yes checking whether C compiler handles -Wmissing-prototypes... yes checking whether C compiler handles -Wnested-externs... yes checking whether C compiler handles -Wnull-dereference... yes checking whether C compiler handles -Wold-style-definition... yes checking whether C compiler handles -Wopenmp-simd... yes checking whether C compiler handles -Wpacked... yes checking whether C compiler handles -Wpointer-arith... yes checking whether C compiler handles -Wshadow... yes checking whether C compiler handles -Wstrict-flex-arrays... yes checking whether C compiler handles -Wstrict-prototypes... yes checking whether C compiler handles -Wsuggest-attribute=cold... yes checking whether C compiler handles -Wsuggest-attribute=format... yes checking whether C compiler handles -Wsuggest-attribute=malloc... yes checking whether C compiler handles -Wsuggest-final-methods... yes checking whether C compiler handles -Wsuggest-final-types... yes checking whether C compiler handles -Wsync-nand... yes checking whether C compiler handles -Wtrampolines... yes checking whether C compiler handles -Wuninitialized... yes checking whether C compiler handles -Wunknown-pragmas... yes checking whether C compiler handles -Wunused-macros... yes checking whether C compiler handles -Wvariadic-macros... yes checking whether C compiler handles -Wvector-operation-performance... yes checking whether C compiler handles -Wwrite-strings... yes checking whether C compiler handles -Warray-bounds=2... yes checking whether C compiler handles -Wattribute-alias=2... yes checking whether C compiler handles -Wbidi-chars=any,ucn... yes checking whether C compiler handles -Wformat-overflow=2... yes checking whether C compiler handles -Wformat=2... yes checking whether C compiler handles -Wformat-truncation=2... yes checking whether C compiler handles -Wimplicit-fallthrough=5... yes checking whether C compiler handles -Wshift-overflow=2... yes checking whether C compiler handles -Wuse-after-free=3... yes checking whether C compiler handles -Wunused-const-variable=2... yes checking whether C compiler handles -Wvla-larger-than=4031... yes checking whether C compiler handles -Wthread-safety... no checking whether C compiler handles -Wno-analyzer-malloc-leak... yes checking whether C compiler handles -Wno-missing-field-initializers... yes checking whether C compiler handles -Wno-unused-parameter... yes checking whether C compiler handles -Wno-format-truncation... yes checking whether C compiler handles -Wimplicit-fallthrough=2... yes checking whether C compiler handles -Wabi=11... yes checking whether C compiler handles -fdiagnostics-show-option... yes checking whether C compiler handles -fno-builtin-strcmp... yes checking whether ln -s works... yes checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... (cached) objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate od: cannot skip past end of combined input od: cannot skip past end of combined input checking for libdl... yes checking how to link with libdl... -ldl checking for cmocka >= 1.0.1... no checking for libidn2 >= 2.0.0... yes checking for nettle_get_secp_192r1 in -lhogweed... yes checking for nettle_rsa_sec_decrypt... yes checking for nettle_gost28147_set_key... no checking for nettle_streebog512_update... yes checking for nettle_magma_set_key... no checking for nettle_kuznyechik_set_key... no checking for nettle_cmac_magma_update... no checking for nettle_cmac_kuznyechik_update... no checking for nettle_siv_gcm_encrypt_message... yes checking for nettle_rsa_oaep_sha256_encrypt... yes checking for nettle_cbc_aes128_encrypt... yes checking for nettle_sha3_128_shake_output... yes checking gmp soname... libgmp.so.10 checking nettle soname... libnettle.so.8 checking hogweed soname... libhogweed.so.6 checking whether to build libdane... yes checking for unbound library... no configure: WARNING: *** *** libunbound was not found. Libdane will not be built. *** checking for p11-kit-1 >= 0.23.1... yes checking m soname... checking whether dlopen works with SONAME... yes checking for tss2-esys... yes checking for tss2-mu... yes checking for tss2-tctildr... yes checking tss2-esys soname... libtss2-esys.so.0 checking tss2-mu soname... libtss2-mu.so.0 checking tss2-tctildr soname... libtss2-tctildr.so.0 checking for Esys_SetCryptoCallbacks... yes checking for tss library... no configure: WARNING: *** *** trousers was not found. TPM support will be disabled. *** checking size of unsigned long int... 8 checking size of unsigned int... 4 checking size of time_t... 8 checking for zlib... yes checking z soname... libz.so.1 checking for libbrotlienc >= 1.0.0... yes checking for libbrotlidec >= 1.0.0... yes checking brotlienc soname... libbrotlienc.so.1 checking brotlidec soname... libbrotlidec.so.1 checking for libzstd... yes checking zstd soname... libzstd.so.1 checking for leancrypto >= 1.2.0... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating ldd.sh config.status: creating Makefile config.status: creating doc/Makefile config.status: creating doc/credentials/Makefile config.status: creating doc/credentials/srp/Makefile config.status: creating doc/credentials/x509/Makefile config.status: creating doc/doxygen/Doxyfile config.status: creating doc/examples/Makefile config.status: creating doc/latex/Makefile config.status: creating doc/manpages/Makefile config.status: creating doc/reference/Makefile config.status: creating doc/reference/version.xml config.status: creating doc/scripts/Makefile config.status: creating extra/Makefile config.status: creating extra/includes/Makefile config.status: creating libdane/Makefile config.status: creating libdane/includes/Makefile config.status: creating libdane/gnutls-dane.pc config.status: creating gl/Makefile config.status: creating lib/Makefile config.status: creating lib/accelerated/Makefile config.status: creating lib/accelerated/x86/Makefile config.status: creating lib/accelerated/aarch64/Makefile config.status: creating lib/algorithms/Makefile config.status: creating lib/auth/Makefile config.status: creating lib/ext/Makefile config.status: creating lib/extras/Makefile config.status: creating lib/gnutls.pc config.status: creating lib/includes/Makefile config.status: creating lib/includes/gnutls/gnutls.h config.status: creating lib/minitasn1/Makefile config.status: creating lib/nettle/Makefile config.status: creating lib/pkcs11/Makefile config.status: creating lib/x509/Makefile config.status: creating lib/unistring/Makefile config.status: creating po/Makefile.in config.status: creating src/Makefile config.status: creating src/gl/Makefile config.status: creating src/gl/tests/Makefile config.status: creating tests/Makefile config.status: creating tests/windows/Makefile config.status: creating tests/cert-tests/Makefile config.status: creating tests/slow/Makefile config.status: creating tests/suite/Makefile config.status: creating fuzz/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/Makefile config.status: executing libtool commands configure: summary of build options: version: 3.8.11 shared 71:0:41 Host/Target system: x86_64-pc-linux-gnu Build system: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc Valgrind: no CFlags: -march=x86-64-v3 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/gnutls -flto=auto -falign-functions=32 Library types: Shared=yes, Static=no Local libtasn1: no Local unistring: no Use nettle-mini: no Documentation: yes (manpages: yes) configure: External hardware support: /dev/crypto: no AF_ALG support: no Hardware accel: x86-64 Padlock accel: yes Random gen. variant: getrandom PKCS#11 support: yes TPM support: no TPM2 support: dlopen KTLS support: yes configure: TPM2 library: tss2-esys tss2-mu tss2-tctildr configure: Optional features: (note that included applications might not compile properly if features are disabled) SSL3.0 support: no SSL2.0 client hello: yes Allow SHA1 sign: no DTLS-SRTP support: yes ALPN support: yes OCSP support: yes SRP support: no PSK support: yes DHE support: yes ECDHE support: yes GOST support: yes Anon auth support: yes Heartbeat support: no IDNA support: IDNA 2008 (libidn2) Non-SuiteB curves: yes FIPS140 mode: no Strict DER time: yes Audit trace: no configure: Optional libraries: C++ library: yes DANE library: no OpenSSL compat: yes configure: System files: Trust store pkcs11: pkcs11: Trust store dir: Trust store file: Blocklist file: CRL file: Configuration file: ${sysconfdir}/gnutls/config DNSSEC root key file: /etc/unbound/root.key configure: WARNING: *** *** The DNSSEC root key file in /etc/unbound/root.key was not found. *** This file is needed for the verification of DNSSEC responses. *** Use the command: unbound-anchor -a "/etc/unbound/root.key" *** to generate or update it. *** make all-recursive make[1]: Entering directory '/startdir/src/gnutls-3.8.11' Making all in gl make[2]: Entering directory '/startdir/src/gnutls-3.8.11/gl' GEN alloca.h GEN arpa/inet.h GEN fcntl.h GEN malloc/scratch_buffer.gl.h GEN inttypes.h GEN limits.h GEN netdb.h GEN pthread.h GEN sched.h GEN stddef.h GEN stdio.h GEN stdlib.h GEN string.h GEN strings.h GEN sys/socket.h GEN sys/stat.h GEN sys/time.h GEN sys/types.h GEN sys/uio.h GEN time.h GEN unistd.h GEN wchar.h make all-recursive make[3]: Entering directory '/startdir/src/gnutls-3.8.11/gl' make[4]: Entering directory '/startdir/src/gnutls-3.8.11/gl' CC libgnu_la-arpa_inet.lo CC libgnu_la-basename-lgpl.lo CC libgnu_la-c-ctype.lo CC libgnu_la-c-strcasecmp.lo CC libgnu_la-cloexec.lo CC libgnu_la-c-strncasecmp.lo CC libgnu_la-dirname-lgpl.lo CC libgnu_la-stripslash.lo CC libgnu_la-fcntl.lo CC libgnu_la-fd-hook.lo CC libgnu_la-hash-pjw-bare.lo CC libgnu_la-gl_linkedhash_list.lo CC libgnu_la-gl_list.lo CC libgnu_la-malloca.lo CC libgnu_la-mbszero.lo CC libgnu_la-memset_explicit.lo CC libgnu_la-read-file.lo CC libgnu_la-realloc.lo CC libgnu_la-stat-time.lo CC libgnu_la-stdlib.lo CC libgnu_la-sys_socket.lo CC glthread/libgnu_la-threadlib.lo CC glthread/libgnu_la-tls.lo CC libgnu_la-unistd.lo CC libgnu_la-vsnzprintf.lo CC libgnu_la-xsize.lo CC asnprintf.lo CC printf-args.lo CC printf-parse.lo CC vasnprintf.lo CC malloc/libgnu_la-scratch_buffer_grow.lo CC malloc/libgnu_la-scratch_buffer_grow_preserve.lo CC malloc/libgnu_la-scratch_buffer_set_array_size.lo CC glthread/libgnu_la-lock.lo CC glthread/libgnu_la-once.lo CCLD libgnu.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/gl' make[3]: Leaving directory '/startdir/src/gnutls-3.8.11/gl' make[2]: Leaving directory '/startdir/src/gnutls-3.8.11/gl' Making all in lib make[2]: Entering directory '/startdir/src/gnutls-3.8.11/lib' make all-recursive make[3]: Entering directory '/startdir/src/gnutls-3.8.11/lib' Making all in includes make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/includes' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/includes' Making all in x509 make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/x509' make all-am make[5]: Entering directory '/startdir/src/gnutls-3.8.11/lib/x509' CC common.lo CC key_encode.lo CC key_decode.lo CC crl.lo CC time.lo CC crl_write.lo CC crq.lo CC dn.lo CC attributes.lo CC prov-seed.lo CC extensions.lo CC mpi.lo CC output.lo CC pkcs12.lo CC pkcs12_bag.lo CC pkcs12_encr.lo CC pkcs7.lo CC pkcs7-attrs.lo CC pkcs7-crypt.lo CC privkey.lo CC privkey_pkcs8.lo CC privkey_pkcs8_pbes1.lo CC privkey_openssl.lo CC hostname-verify.lo CC sign.lo CC verify.lo CC x509.lo CC x509_dn.lo CC x509_write.lo CC name_constraints.lo CC verify-high.lo CC verify-high2.lo CC x509_ext.lo CC email-verify.lo CC pkcs7-output.lo CC virt-san.lo CC spki.lo CC tls_features.lo CC krb5.lo CC ip.lo CC ocsp.lo CC ocsp_output.lo CCLD libgnutls_x509.la make[5]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/x509' make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/x509' Making all in auth make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/auth' CC anon.lo CC cert.lo CC dh_common.lo CC dhe.lo CC rsa_psk.lo CC dhe_psk.lo CC psk.lo CC psk_passwd.lo CC rsa.lo CC srp_kx.lo CC srp_passwd.lo CC srp_rsa.lo CC srp_sb64.lo CC anon_ecdh.lo CC ecdhe.lo CC vko_gost.lo CCLD libgnutls_auth.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/auth' Making all in ext make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/ext' CC max_record.lo CC server_name.lo CC signature.lo CC safe_renegotiation.lo CC session_ticket.lo CC srp.lo CC heartbeat.lo CC status_request.lo CC dumbfw.lo CC ext_master_secret.lo CC etm.lo CC supported_versions.lo CC post_handshake.lo CC key_share.lo CC cookie.lo CC psk_ke_modes.lo CC pre_shared_key.lo CC supported_groups.lo CC ec_point_formats.lo CC early_data.lo CC record_size_limit.lo CC client_cert_type.lo CC server_cert_type.lo CC compress_certificate.lo CC alpn.lo CC srtp.lo CCLD libgnutls_ext.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/ext' Making all in algorithms make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/algorithms' CC cert_types.lo CC ciphers.lo CC ciphersuites.lo CC ecc.lo CC kx.lo CC mac.lo CC protocols.lo CC publickey.lo CC secparams.lo CC sign.lo CC groups.lo CCLD libgnutls_alg.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/algorithms' Making all in extras make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/extras' CC randomart.lo CC hex.lo CCLD libgnutls_extras.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/extras' Making all in accelerated make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/accelerated' Making all in x86 make[5]: Entering directory '/startdir/src/gnutls-3.8.11/lib/accelerated/x86' CC x86-common.lo CC sha-x86-ssse3.lo CC hmac-x86-ssse3.lo CC aes-gcm-x86-ssse3.lo CC aes-gcm-x86-aesni.lo CC aes-cbc-x86-ssse3.lo CC aes-cbc-x86-aesni.lo CC aes-ccm-x86-aesni.lo CC aes-xts-x86-aesni.lo CC sha-padlock.lo CC hmac-padlock.lo CC aes-gcm-padlock.lo CC aes-padlock.lo CC aes-gcm-x86-pclmul.lo CC aes-gcm-x86-pclmul-avx.lo CCAS elf/aesni-x86_64.lo CCAS elf/ghash-x86_64.lo CCAS elf/sha1-ssse3-x86_64.lo CCAS elf/sha512-ssse3-x86_64.lo CCAS elf/aes-ssse3-x86_64.lo CCAS elf/aesni-gcm-x86_64.lo CCAS elf/sha256-ssse3-x86_64.lo CCAS elf/e_padlock-x86_64.lo CCLD libx86.la make[5]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/accelerated/x86' make[5]: Entering directory '/startdir/src/gnutls-3.8.11/lib/accelerated' CC accelerated.lo CC cryptodev.lo CC cryptodev-gcm.lo CC afalg.lo CCLD libaccelerated.la make[5]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/accelerated' make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/accelerated' Making all in pkcs11 make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/pkcs11' CC p11_provider.lo CC p11_cipher.lo CC p11_pk.lo CC p11_mac.lo CCLD libgnutls_pkcs11.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/pkcs11' Making all in nettle make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib/nettle' CC pk.lo CC mpi.lo CC mac.lo CC cipher.lo CC init.lo CC prf.lo CC rnd.lo CC sysrng-linux.lo CC rnd-fuzzer.lo CC gost_keywrap.lo CC int/rsa-keygen-fips186.lo CC int/provable-prime.lo CC int/dsa-keygen-fips186.lo CC int/dsa-validate.lo CC int/tls1-prf.lo CC int/dsa-compute-k.lo CC int/ecdsa-compute-k.lo CC int/mpn-base256.lo CC int/rsa-pad.lo CC gost/write-le32.lo CC gost/gost28147.lo CC gost/gost-wrap.lo CC gost/streebog.lo CC gost/streebog-meta.lo CC gost/hmac-streebog.lo CC gost/bignum-le.lo CC gost/gostdsa-mask.lo CC gost/magma.lo CC gost/kuznyechik.lo CC gost/acpkm.lo CC gost/cmac-magma.lo CC gost/cmac-kuznyechik.lo CCLD libcrypto.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib/nettle' make[4]: Entering directory '/startdir/src/gnutls-3.8.11/lib' CC range.lo CC record.lo CC compress.lo CC debug.lo CC cipher.lo CC handshake-tls13.lo CC mbuffers.lo CC buffers.lo CC handshake.lo CC errors.lo CC dh.lo CC kx.lo CC cipher-cbc.lo CC priority.lo CC hash_int.lo CC cipher_int.lo CC session.lo CC db.lo CC x509_b64.lo CC hello_ext.lo CC auth.lo CC sslv2_compat.lo CC datum.lo CC session_pack.lo CC mpi.lo CC pk.lo CC cert-cred.lo CC global.lo CC constate.lo CC anon_cred.lo CC pkix_asn1_tab.lo CC gnutls_asn1_tab.lo CC mem.lo CC fingerprint.lo CC tls-sig.lo CC ecc.lo CC alert.lo CC privkey_raw.lo CC str-iconv.lo CC system.lo CC profiles.lo CC str.lo CC str-unicode.lo CC str-idna.lo CC state.lo CC cert-cred-x509.lo CC file.lo CC supplemental.lo CC random.lo CC crypto-api.lo CC privkey.lo CC pcert.lo CC pubkey.lo CC locks.lo CC dtls.lo CC system_override.lo CC crypto-backend.lo CC verify-tofu.lo CC pin.lo CC tpm.lo CC fips.lo CC safe-memfuncs.lo CC atfork.lo CC randomart.lo CC urls.lo CC prf.lo CC auto-verify.lo CC dh-session.lo CC cert-session.lo CC handshake-checks.lo CC dtls-sw.lo CC dh-primes.lo CC openpgp_compat.lo CC crypto-selftests.lo CC crypto-selftests-pk.lo CC secrets.lo CC extv.lo CC hello_ext_lib.lo CC ocsp-api.lo CC stek.lo CC cert-cred-rawpk.lo CC iov.lo CC system/ktls.lo CC pathbuf.lo CC audit.lo CC vko.lo CC dlwrap/tss2_esys.lo CC dlwrap/tss2_mu.lo CC dlwrap/tss2_tctildr.lo CC system/keys-dummy.lo CC tls13-sig.lo CC tls13/finished.lo CC tls13/key_update.lo CC tls13/hello_retry.lo CC tls13/session_ticket.lo CC tls13/certificate.lo CC tls13/early_data.lo CC tls13/post_handshake.lo CC tls13/psk_ext_parser.lo CC tls13/anti_replay.lo CC pkcs11.lo CC pkcs11x.lo CC pkcs11_privkey.lo CC pkcs11_write.lo CC pkcs11_secret.lo CC pkcs11_int.lo CC srp.lo CC psk.lo CXX libgnutlsxx_la-gnutlsxx.lo CC system/certs.lo CC system/threads.lo CC system/fastopen.lo CC system/sockets.lo CC inih/ini.lo CC dlwrap/zlib.lo CC dlwrap/zstd.lo CC dlwrap/brotlienc.lo CC dlwrap/brotlidec.lo CC tpm2/tpm2.lo CC tpm2/tpm2_esys.lo CC tpm2/callbacks/esys_crypto_callbacks.lo CC tpm2/callbacks/aes/aes_callbacks.lo CC tpm2/callbacks/ecdh/ecdh_callbacks.lo CC tpm2/callbacks/random/random_callbacks.lo CC tpm2/callbacks/hmac/hmac_callbacks.lo CC tpm2/callbacks/hash/hash_callbacks.lo CC tpm2/callbacks/rsa/rsa_callbacks.lo CC tls13/encrypted_extensions.lo CC tls13/certificate_request.lo CC tls13/certificate_verify.lo CCLD libgnutls.la In function 'memcpy', inlined from '_gnutls_buffer_insert_data' at str.c:350:2, inlined from '_gnutls_buffer_unescape' at str.c:422:5: /usr/include/bits/string_fortified.h:29:10: warning: 'x' may be used uninitialized [-Wmaybe-uninitialized] 29 | return __builtin___memcpy_chk (__dest, __src, __len, | ^ str.c: In function '_gnutls_buffer_unescape': str.c:416:47: note: 'x' was declared here 416 | unsigned char x; | ^ x509/x509.c: In function '_gnutls_check_cert_sanity': x509/x509.c:602:38: warning: 'exts.size' may be used uninitialized [-Wmaybe-uninitialized] 602 | if (ret >= 0 && exts.size > 0) { | ^ x509/x509.c:574:24: note: 'exts.size' was declared here 574 | gnutls_datum_t exts; | ^ nettle/pk.c: In function '_wrap_nettle_pk_sign': nettle/pk.c:2033:25: warning: '%s' directive argument is null [-Wformat-overflow=] 2033 | _gnutls_debug_log( | ^ In function '_gnutls_asn1_encode_ecc', inlined from '_gnutls_asn1_encode_privkey' at x509/key_encode.c:1264:10: x509/key_encode.c:978:15: warning: potential null pointer dereference [-Wnull-dereference] 978 | if (ce->oid == NULL) | ^ x509/key_encode.c:978:15: warning: potential null pointer dereference [-Wnull-dereference] x509/pkcs12_bag.c: In function 'gnutls_pkcs12_bag_enc_info': x509/pkcs12_bag.c:800:28: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized] 800 | *schema = p->flag; | ^ x509/pkcs12_bag.c:780:45: note: 'p' was declared here 780 | const struct pkcs_cipher_schema_st *p; | ^ In function 'server_use_key_share_single', inlined from 'server_use_key_share' at ext/key_share.c:640:9, inlined from 'key_share_recv_params' at ext/key_share.c:904:11: ext/key_share.c:432:26: warning: potential null pointer dereference [-Wnull-dereference] 432 | if (curve->size * 2 + 1 > buffer->length) | ^ ext/key_share.c:432:26: warning: potential null pointer dereference [-Wnull-dereference] ext/key_share.c:478:26: warning: potential null pointer dereference [-Wnull-dereference] 478 | if (curve->size > buffer->length) | ^ ext/key_share.c:478:26: warning: potential null pointer dereference [-Wnull-dereference] In function 'gnutls_tss2_mu_func_Tss2_MU_TPM2B_PUBLIC_Unmarshal', inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:864:7, inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:835:5, inlined from '_gnutls_load_tpm2_key' at tpm2/tpm2.c:263:8, inlined from 'gnutls_privkey_import_x509_raw' at privkey.c:1713:9: dlwrap/tss2_mufuncs.h:7:1: warning: 'pubdata.data' may be used uninitialized [-Wmaybe-uninitialized] 7 | FUNC(TSS2_RC, Tss2_MU_TPM2B_PUBLIC_Unmarshal, (const uint8_t buffer[], size_t buffer_size, size_t *offset, TPM2B_PUBLIC *dest), (buffer, buffer_size, offset, dest)) | ^ tpm2/tpm2.c: In function 'gnutls_privkey_import_x509_raw': tpm2/tpm2.c:150:30: note: 'pubdata.data' was declared here 150 | gnutls_datum_t asn1, pubdata, privdata; | ^ In function 'install_tpm2_key', inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:835:5, inlined from '_gnutls_load_tpm2_key' at tpm2/tpm2.c:263:8, inlined from 'gnutls_privkey_import_x509_raw' at privkey.c:1713:9: tpm2/tpm2_esys.c:864:14: warning: 'pubdata.size' may be used uninitialized [-Wmaybe-uninitialized] 864 | rc = GNUTLS_TSS2_MU_FUNC(Tss2_MU_TPM2B_PUBLIC_Unmarshal)( | ^ tpm2/tpm2.c: In function 'gnutls_privkey_import_x509_raw': tpm2/tpm2.c:150:30: note: 'pubdata.size' was declared here 150 | gnutls_datum_t asn1, pubdata, privdata; | ^ In function 'gnutls_tss2_mu_func_Tss2_MU_TPM2B_PRIVATE_Unmarshal', inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:856:7, inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:835:5, inlined from '_gnutls_load_tpm2_key' at tpm2/tpm2.c:263:8, inlined from 'gnutls_privkey_import_x509_raw' at privkey.c:1713:9: dlwrap/tss2_mufuncs.h:6:1: warning: 'privdata.data' may be used uninitialized [-Wmaybe-uninitialized] 6 | FUNC(TSS2_RC, Tss2_MU_TPM2B_PRIVATE_Unmarshal, (const uint8_t buffer[], size_t buffer_size, size_t *offset, TPM2B_PRIVATE *dest), (buffer, buffer_size, offset, dest)) | ^ tpm2/tpm2.c: In function 'gnutls_privkey_import_x509_raw': tpm2/tpm2.c:150:39: note: 'privdata.data' was declared here 150 | gnutls_datum_t asn1, pubdata, privdata; | ^ In function 'install_tpm2_key', inlined from 'install_tpm2_key' at tpm2/tpm2_esys.c:835:5, inlined from '_gnutls_load_tpm2_key' at tpm2/tpm2.c:263:8, inlined from 'gnutls_privkey_import_x509_raw' at privkey.c:1713:9: tpm2/tpm2_esys.c:856:14: warning: 'privdata.size' may be used uninitialized [-Wmaybe-uninitialized] 856 | rc = GNUTLS_TSS2_MU_FUNC(Tss2_MU_TPM2B_PRIVATE_Unmarshal)( | ^ tpm2/tpm2.c: In function 'gnutls_privkey_import_x509_raw': tpm2/tpm2.c:150:39: note: 'privdata.size' was declared here 150 | gnutls_datum_t asn1, pubdata, privdata; | ^ In function '_gnutls_handshake_sign_data', inlined from '_gnutls_gen_dhe_signature' at auth/cert.c:1770:14: tls-sig.c:205:9: warning: potential null pointer dereference [-Wnull-dereference] 205 | _gnutls_audit_new_context_with_data( | ^ tls-sig.c:205:9: warning: potential null pointer dereference [-Wnull-dereference] tls-sig.c:205:9: warning: potential null pointer dereference [-Wnull-dereference] tls-sig.c:205:9: warning: potential null pointer dereference [-Wnull-dereference] x509/ocsp.c: In function 'gnutls_ocsp_resp_get_responder_raw_id': x509/ocsp.c:1244:33: warning: 'tmp.data' may be used uninitialized [-Wmaybe-uninitialized] 1244 | tmp.data++; | ^ x509/ocsp.c:1229:32: note: 'tmp.data' was declared here 1229 | gnutls_datum_t tmp; | ^ x509/ocsp.c:1238:28: warning: 'tmp.size' may be used uninitialized [-Wmaybe-uninitialized] 1238 | if (tmp.size < 2) { | ^ x509/ocsp.c:1229:32: note: 'tmp.size' was declared here 1229 | gnutls_datum_t tmp; | ^ In function '_gnutls_ktls_recv_int', inlined from 'gnutls_bye' at record.c:308:12: system/ktls.c:1130:33: warning: null pointer dereference [-Wnull-dereference] 1130 | uint8_t level = ((uint8_t *)data)[0]; | ^ system/ktls.c:1131:33: warning: null pointer dereference [-Wnull-dereference] 1131 | uint8_t desc = ((uint8_t *)data)[1]; | ^ x509/ocsp.c: In function 'gnutls_ocsp_resp_get_signature_algorithm': x509/ocsp.c:1757:15: warning: 'sa.data' may be used uninitialized [-Wmaybe-uninitialized] 1757 | ret = gnutls_oid_to_sign((char *)sa.data); | ^ x509/ocsp.c:1748:24: note: 'sa.data' was declared here 1748 | gnutls_datum_t sa; | ^ x509/ocsp.c: In function 'find_signercert': x509/ocsp.c:1969:38: warning: 'spki.data' may be used uninitialized [-Wmaybe-uninitialized] 1969 | if (spki.data[0] != 0x03) { /* bit string */ | ^ x509/ocsp.c:1935:40: note: 'spki.data' was declared here 1935 | gnutls_datum_t spki; | ^ x509/ocsp.c:1960:36: warning: 'spki.size' may be used uninitialized [-Wmaybe-uninitialized] 1960 | if (rc < 0 || spki.size < 6) { | ^ x509/ocsp.c:1935:40: note: 'spki.size' was declared here 1935 | gnutls_datum_t spki; | ^ CXXLD libgnutlsxx.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/lib' make[3]: Leaving directory '/startdir/src/gnutls-3.8.11/lib' make[2]: Leaving directory '/startdir/src/gnutls-3.8.11/lib' Making all in extra make[2]: Entering directory '/startdir/src/gnutls-3.8.11/extra' Making all in includes make[3]: Entering directory '/startdir/src/gnutls-3.8.11/extra/includes' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/gnutls-3.8.11/extra/includes' make[3]: Entering directory '/startdir/src/gnutls-3.8.11/extra' CC gnutls_openssl.lo CC openssl_compat.lo CCLD libgnutls-openssl.la /usr/bin/nm: libgnu_la-arpa_inet.o: no symbols /usr/bin/nm: libgnu_la-fd-hook.o: no symbols /usr/bin/nm: libgnu_la-stdlib.o: no symbols /usr/bin/nm: libgnu_la-sys_socket.o: no symbols /usr/bin/nm: libgnu_la-threadlib.o: no symbols /usr/bin/nm: libgnu_la-tls.o: no symbols /usr/bin/nm: libgnu_la-unistd.o: no symbols make[3]: Leaving directory '/startdir/src/gnutls-3.8.11/extra' make[2]: Leaving directory '/startdir/src/gnutls-3.8.11/extra' Making all in po make[2]: Entering directory '/startdir/src/gnutls-3.8.11/po' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/gnutls-3.8.11/po' Making all in src/gl make[2]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl' GEN alloca.h GEN arpa/inet.h GEN error.h GEN fcntl.h GEN inttypes.h GEN malloc/scratch_buffer.gl.h GEN limits.h GEN netdb.h GEN pthread.h GEN sched.h GEN signal.h GEN stddef.h GEN stdio.h GEN stdlib.h GEN string.h GEN strings.h GEN sys/select.h GEN sys/socket.h GEN sys/stat.h GEN sys/time.h GEN sys/types.h GEN sys/uio.h GEN time.h GEN unistd.h GEN wchar.h make all-recursive make[3]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl' Making all in . make[4]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl' CC libgnu_gpl_la-arpa_inet.lo CC libgnu_gpl_la-basename-lgpl.lo CC libgnu_gpl_la-c-ctype.lo CC libgnu_gpl_la-c-strcasecmp.lo CC libgnu_gpl_la-c-strncasecmp.lo CC libgnu_gpl_la-cloexec.lo CC libgnu_gpl_la-close-stream.lo CC libgnu_gpl_la-exitfail.lo CC libgnu_gpl_la-fcntl.lo CC libgnu_gpl_la-fd-hook.lo CC libgnu_gpl_la-getprogname.lo CC libgnu_gpl_la-gettime.lo CC libgnu_gpl_la-hash-pjw-bare.lo CC libgnu_gpl_la-ialloc.lo CC libgnu_gpl_la-gl_linked_list.lo CC libgnu_gpl_la-gl_linkedhash_list.lo CC libgnu_gpl_la-gl_list.lo CC libgnu_gpl_la-malloca.lo CC libgnu_gpl_la-mbszero.lo CC libgnu_gpl_la-memset_explicit.lo CC glthread/libgnu_gpl_la-once.lo CC libgnu_gpl_la-parse-datetime.lo CC libgnu_gpl_la-progname.lo CC libgnu_gpl_la-read-file.lo CC libgnu_gpl_la-realloc.lo CC libgnu_gpl_la-reallocarray.lo CC libgnu_gpl_la-sockets.lo CC libgnu_gpl_la-stat-time.lo CC libgnu_gpl_la-stdlib.lo CC libgnu_gpl_la-sys_socket.lo CC glthread/libgnu_gpl_la-threadlib.lo CC libgnu_gpl_la-time_rz.lo CC libgnu_gpl_la-timespec.lo CC glthread/libgnu_gpl_la-tls.lo CC libgnu_gpl_la-unistd.lo CC libgnu_gpl_la-vsnzprintf.lo CC libgnu_gpl_la-xmalloc.lo CC libgnu_gpl_la-xalloc-die.lo CC libgnu_gpl_la-gl_xlist.lo CC libgnu_gpl_la-xsize.lo CC asnprintf.lo CC mktime.lo CC printf-args.lo CC printf-parse.lo CC vasnprintf.lo CC malloc/libgnu_gpl_la-scratch_buffer_grow.lo CC malloc/libgnu_gpl_la-scratch_buffer_grow_preserve.lo CC malloc/libgnu_gpl_la-scratch_buffer_set_array_size.lo CC glthread/libgnu_gpl_la-lock.lo CCLD libgnu_gpl.la make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl' Making all in tests make[4]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl/tests' GEN ctype.h GEN endian.h GEN langinfo.h GEN locale.h GEN math.h GEN sys/ioctl.h ## ---------------------------------------------------- ## ## ------------------- Gnulib tests ------------------- ## ## You can ignore compiler warnings in this directory. ## ## ---------------------------------------------------- ## make all-recursive make[5]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl/tests' Making all in . make[6]: Entering directory '/startdir/src/gnutls-3.8.11/src/gl/tests' make[6]: Nothing to be done for 'all-am'. make[6]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl/tests' make[5]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl/tests' make[4]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl/tests' make[3]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl' make[2]: Leaving directory '/startdir/src/gnutls-3.8.11/src/gl' Making all in src make[2]: Entering directory '/startdir/src/gnutls-3.8.11/src' make all-am make[3]: Entering directory '/startdir/src/gnutls-3.8.11/src' CC psk.o CC psktool-options.lo CC cli-debug.o CC tests.o CC socket.o CC common.o CC gnutls-cli-debug-options.lo CC certtool.o CC certtool-common.o CC certtool-extras.o CC certtool-options.lo CC certtool-cfg.lo CC cfg.lo CC serv.o CC udp-serv.o CC gnutls-serv-options.lo CC cli.o CC benchmark-cipher.o CC benchmark.o CC benchmark-tls.o CC ocsptool-common.o CC gnutls-cli-options.lo CC ocsptool.o CC ocsptool-options.lo CC p11tool-p11tool.o CC p11tool-pkcs11.o CC p11tool-certtool-common.o CC p11tool-certtool-extras.o serv.c: In function 'terminate': serv.c:1140:9: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 1140 | write(STDERR_FILENO, buf, p - buf); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC p11tool-common.o CC p11tool-options.lo CC systemkey.o CC systemkey-tool-options.lo CC dumpcfg-cfg.o CC danetool-options.lo CCLD libcmd-psk.la CCLD libcmd-cli-debug.la CCLD libcmd-cli.la CCLD libcmd-serv.la CCLD libcmd-ocsp.la CCLD dumpcfg CCLD gnutls-cli-debug CCLD psktool CCLD gnutls-cli CCLD gnutls-serv CCLD ocsptool CCLD libcerttool-cfg.la copying selected object files to avoid basename conflicts... CCLD libcmd-certtool.la CCLD libcmd-p11tool.la CCLD libcmd-systemkey.la CCLD libcmd-danetool.la copying selected object files to avoid basename conflicts... copying selected object files to avoid basename conflicts... copying selected object files to avoid basename conflicts... copying selected object files to avoid basename conflicts... CCLD p11tool CCLD systemkey CCLD certtool In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 39:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2070 || case 39: /* day: tDAY ',' */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:797:36: | 797 | pc->day_number = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:801:37: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 801 | pc->day_ordinal = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 40:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2079 || case 40: /* day: tORDINAL tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:801:37: | 801 | pc->day_ordinal = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:807:49: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 807 | pc->day_ordinal = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 41:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2089 || case 41: /* day: tUNUMBER tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:807:49: | 807 | pc->day_ordinal = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:816:43: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 816 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:816:43: | 816 | pc->month = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:816:43: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:817:40: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 817 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:817:40: | 817 | pc->day = $3.value; | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:826:40: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 826 | if (4 <= $1.digits) | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:826:40: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) out-of-bounds read from byte -152 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:826:40: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-------------------------+ |read of 'idx_t' (8 bytes)| +-------------------------+ ^ | | +-------------------------+ +----------+-------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +-------------------------+ +--------------------------------------+ |~~~~~~~~~~~~+~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |144 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:836:22: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 836 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | | (54) out-of-bounds read from byte -168 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:836:22: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 836 | pc->year = $1; | ^ +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+----+ +--------+-------+ |under-read of 24 bytes| |144 bytes| |size: 1120 bytes| +----------------------+ +---------+ +----------------+ gl/parse-datetime.y:837:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 837 | pc->month = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:837:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 837 | pc->month = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:838:44: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 838 | pc->day = $5.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | 838 | pc->day = $5.value; | | | | | | | (54) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:847:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 847 | pc->month = $1.value; | ^ In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | | (54) out-of-bounds read from byte -160 till byte -153 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:847:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 847 | pc->month = $1.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +----------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +----------+----------+ +----+----+ +--------+-------+ |under-read of 8 bytes| |152 bytes| |size: 1120 bytes| +---------------------+ +---------+ +----------------+ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | gl/parse-datetime.y:848:45: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 848 | pc->day = $3.value; | ^ lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | 848 | pc->day = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:848:45: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 848 | pc->day = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | gl/parse-datetime.y:855:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 855 | pc->day = $1.value; | ^ lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:855:41: | 855 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:855:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | gl/parse-datetime.y:856:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 856 | pc->month = $2; | ^ In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:856:31: | 856 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.y:863:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 863 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:863:31: | 863 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -49 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:863:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |48 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.y:864:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | ^ gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:864:13: | 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ gl/parse-datetime.y:870:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 870 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 46:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2169 || case 46: /* date: tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:870:31: | 870 | pc->month = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ gl/parse-datetime.y:875:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 875 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:875:31: | 875 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -112 till byte -105 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:875:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+-----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |104 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ gl/parse-datetime.y:876:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 876 | pc->day = $2.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:876:41: | 876 | pc->day = $2.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:876:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:881:41: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 881 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 48:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2188 || case 48: /* date: tUNUMBER tMONTH */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:881:41: | 881 | pc->day = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:886:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 886 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:886:41: | 886 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:886:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:887:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 887 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:887:31: | 887 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:897:18: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 897 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:897:18: | 897 | pc->year = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -33 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:897:18: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+---+ +--------+-------+ |under-read of 24 bytes| |32 bytes| |size: 1120 bytes| +----------------------+ +--------+ +----------------+ gl/parse-datetime.y:898:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:898:13: | 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:905:15: warning: use of uninitialized value '_150->rel' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 52:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2218 || case 52: /* rel: relunit tAGO */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:905:15: | 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value '_150->rel' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ gl/parse-datetime.y:914:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 55:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2236 || case 55: /* relunit: tORDINAL tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:914:69: | 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ gl/parse-datetime.y:916:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 39:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2070 || case 39: /* day: tDAY ',' */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:797:36: | 797 | pc->day_number = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 56:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2242 || case 56: /* relunit: tUNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:916:81: | 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:801:37: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 801 | pc->day_ordinal = $1; | ^ gl/parse-datetime.y:920:70: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 40:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2079 || case 40: /* day: tORDINAL tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:801:37: | 801 | pc->day_ordinal = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 58:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2254 || case 58: /* relunit: tORDINAL tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:920:70: | 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:807:49: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 807 | pc->day_ordinal = $1.value; | ^ gl/parse-datetime.y:922:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 41:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2089 || case 41: /* day: tUNUMBER tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:807:49: | 807 | pc->day_ordinal = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 59:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2260 || case 59: /* relunit: tUNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:922:82: | 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:816:43: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 816 | pc->month = $1.value; | ^ gl/parse-datetime.y:927:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:816:43: | 816 | pc->month = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:816:43: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 61:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2272 || case 61: /* relunit: tORDINAL tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:927:13: | 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:817:40: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 817 | pc->day = $3.value; | ^ gl/parse-datetime.y:930:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:817:40: | 817 | pc->day = $3.value; | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 62:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2279 || case 62: /* relunit: tUNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:930:13: | 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:826:40: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 826 | if (4 <= $1.digits) | ^ gl/parse-datetime.y:934:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:826:40: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) out-of-bounds read from byte -152 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:826:40: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-------------------------+ |read of 'idx_t' (8 bytes)| +-------------------------+ ^ | | +-------------------------+ +----------+-------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +-------------------------+ +--------------------------------------+ |~~~~~~~~~~~~+~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |144 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 64:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2292 || case 64: /* relunit: tORDINAL tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:934:69: | 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:836:22: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 836 | pc->year = $1; | ^ gl/parse-datetime.y:936:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | | (54) out-of-bounds read from byte -168 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:836:22: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 836 | pc->year = $1; | ^ +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+----+ +--------+-------+ |under-read of 24 bytes| |144 bytes| |size: 1120 bytes| +----------------------+ +---------+ +----------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 65:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2298 || case 65: /* relunit: tUNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:936:81: | 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:940:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | ^ gl/parse-datetime.y:837:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 837 | pc->month = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 67:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2310 || case 67: /* relunit: tORDINAL tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:940:72: | 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:837:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 837 | pc->month = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:942:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ gl/parse-datetime.y:838:44: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 838 | pc->day = $5.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 68:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2316 || case 68: /* relunit: tUNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:942:84: | 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | 838 | pc->day = $5.value; | | | | | | | (54) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:946:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | ^ gl/parse-datetime.y:847:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 847 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 70:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2328 || case 70: /* relunit: tORDINAL tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:946:72: | 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | | (54) out-of-bounds read from byte -160 till byte -153 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:847:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 847 | pc->month = $1.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +----------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +----------+----------+ +----+----+ +--------+-------+ |under-read of 8 bytes| |152 bytes| |size: 1120 bytes| +---------------------+ +---------+ +----------------+ gl/parse-datetime.y:948:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ gl/parse-datetime.y:848:45: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 848 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 71:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2334 || case 71: /* relunit: tUNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:948:84: | 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | 848 | pc->day = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:848:45: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 848 | pc->day = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:950:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ gl/parse-datetime.y:855:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 855 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 72:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2340 || case 72: /* relunit: tSDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:950:82: | 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:855:41: | 855 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:855:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:952:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ gl/parse-datetime.y:856:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 856 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 73:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2346 || case 73: /* relunit: tUDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:952:82: | 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:960:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:856:31: | 856 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:863:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 863 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 76:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2358 || case 76: /* relunit_snumber: tSNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:960:81: | 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:962:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:863:31: | 863 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -49 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:863:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |48 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 77:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2364 || case 77: /* relunit_snumber: tSNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:962:82: | 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:864:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | ^ gl/parse-datetime.y:965:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:864:13: | 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 78:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2370 || case 78: /* relunit_snumber: tSNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:965:13: | 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:870:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 870 | pc->month = $1; | ^ gl/parse-datetime.y:967:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 46:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2169 || case 46: /* date: tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:870:31: | 870 | pc->month = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 79:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2377 || case 79: /* relunit_snumber: tSNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:967:81: | 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:875:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 875 | pc->month = $1; | ^ gl/parse-datetime.y:969:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:875:31: | 875 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -112 till byte -105 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:875:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+-----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |104 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 80:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2383 || case 80: /* relunit_snumber: tSNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:969:84: | 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:876:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 876 | pc->day = $2.value; | ^ gl/parse-datetime.y:971:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:876:41: | 876 | pc->day = $2.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:876:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 81:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2389 || case 81: /* relunit_snumber: tSNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:971:84: | 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:881:41: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 881 | pc->day = $1.value; | ^ gl/parse-datetime.y:985:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 48:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2188 || case 48: /* date: tUNUMBER tMONTH */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:881:41: | 881 | pc->day = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 86:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2401 || case 86: /* signed_seconds: tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:985:79: | 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:886:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 886 | pc->day = $1.value; | ^ gl/parse-datetime.y:992:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:886:41: | 886 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:886:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 88:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2408 || case 88: /* unsigned_seconds: tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:992:79: | 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:887:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 887 | pc->month = $2; | ^ gl/parse-datetime.y:1005:9: warning: use of uninitialized value '_213->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1005 | digits_to_date_time (pc, $1); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:887:31: | 887 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 90:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2421 || case 90: /* hybrid: tUNUMBER relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1005:9: | 1005 | digits_to_date_time (pc, $1); | | ^ | | | | | (52) use of uninitialized value '_213->textintval' here | gl/parse-datetime.y:897:18: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 897 | pc->year = $1; | ^ gl/parse-datetime.y:1014:47: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1014 | { $$ = $2.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:897:18: | 897 | pc->year = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -33 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:897:18: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+---+ +--------+-------+ |under-read of 24 bytes| |32 bytes| |size: 1120 bytes| +----------------------+ +--------+ +----------------+ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 92:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2438 || case 92: /* o_colon_minutes: ':' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1014:47: | 1014 | { $$ = $2.value; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:898:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:898:13: | 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:905:15: warning: use of uninitialized value '_150->rel' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 52:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2218 || case 52: /* rel: relunit tAGO */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:905:15: | 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value '_150->rel' here | gl/parse-datetime.y:914:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 55:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2236 || case 55: /* relunit: tORDINAL tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:914:69: | 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:916:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 56:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2242 || case 56: /* relunit: tUNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:916:81: | 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:920:70: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 58:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2254 || case 58: /* relunit: tORDINAL tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:920:70: | 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:922:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 59:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2260 || case 59: /* relunit: tUNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:922:82: | 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:927:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 61:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2272 || case 61: /* relunit: tORDINAL tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:927:13: | 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:930:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 62:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2279 || case 62: /* relunit: tUNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:930:13: | 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:934:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 64:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2292 || case 64: /* relunit: tORDINAL tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:934:69: | 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:936:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 65:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2298 || case 65: /* relunit: tUNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:936:81: | 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:940:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 67:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2310 || case 67: /* relunit: tORDINAL tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:940:72: | 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:942:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 68:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2316 || case 68: /* relunit: tUNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:942:84: | 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:946:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 70:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2328 || case 70: /* relunit: tORDINAL tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:946:72: | 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:948:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 71:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2334 || case 71: /* relunit: tUNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:948:84: | 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:950:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 72:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2340 || case 72: /* relunit: tSDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:950:82: | 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:952:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 73:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2346 || case 73: /* relunit: tUDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:952:82: | 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:960:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 76:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2358 || case 76: /* relunit_snumber: tSNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:960:81: | 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:962:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 77:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2364 || case 77: /* relunit_snumber: tSNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:962:82: | 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:965:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 78:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2370 || case 78: /* relunit_snumber: tSNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:965:13: | 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:967:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 79:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2377 || case 79: /* relunit_snumber: tSNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:967:81: | 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:969:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 80:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2383 || case 80: /* relunit_snumber: tSNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:969:84: | 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:971:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 81:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2389 || case 81: /* relunit_snumber: tSNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:971:84: | 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:985:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 86:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2401 || case 86: /* signed_seconds: tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:985:79: | 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:992:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 88:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2408 || case 88: /* unsigned_seconds: tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:992:79: | 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:1005:9: warning: use of uninitialized value '_213->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1005 | digits_to_date_time (pc, $1); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 90:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2421 || case 90: /* hybrid: tUNUMBER relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1005:9: | 1005 | digits_to_date_time (pc, $1); | | ^ | | | | | (52) use of uninitialized value '_213->textintval' here | gl/parse-datetime.y:1014:47: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1014 | { $$ = $2.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 92:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2438 || case 92: /* o_colon_minutes: ':' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1014:47: | 1014 | { $$ = $2.value; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 39:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2070 || case 39: /* day: tDAY ',' */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:797:36: | 797 | pc->day_number = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:801:37: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 801 | pc->day_ordinal = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 40:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2079 || case 40: /* day: tORDINAL tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:801:37: | 801 | pc->day_ordinal = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:807:49: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 807 | pc->day_ordinal = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 41:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2089 || case 41: /* day: tUNUMBER tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:807:49: | 807 | pc->day_ordinal = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:816:43: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 816 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:816:43: | 816 | pc->month = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:816:43: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:817:40: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 817 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:817:40: | 817 | pc->day = $3.value; | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:826:40: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 826 | if (4 <= $1.digits) | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:826:40: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) out-of-bounds read from byte -152 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:826:40: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-------------------------+ |read of 'idx_t' (8 bytes)| +-------------------------+ ^ | | +-------------------------+ +----------+-------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +-------------------------+ +--------------------------------------+ |~~~~~~~~~~~~+~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |144 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:836:22: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 836 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | | (54) out-of-bounds read from byte -168 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:836:22: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 836 | pc->year = $1; | ^ +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+----+ +--------+-------+ |under-read of 24 bytes| |144 bytes| |size: 1120 bytes| +----------------------+ +---------+ +----------------+ gl/parse-datetime.y:837:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 837 | pc->month = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:837:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 837 | pc->month = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:838:44: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 838 | pc->day = $5.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | 838 | pc->day = $5.value; | | | | | | | (54) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:847:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 847 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | | (54) out-of-bounds read from byte -160 till byte -153 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:847:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 847 | pc->month = $1.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +----------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +----------+----------+ +----+----+ +--------+-------+ |under-read of 8 bytes| |152 bytes| |size: 1120 bytes| +---------------------+ +---------+ +----------------+ gl/parse-datetime.y:848:45: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 848 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | 848 | pc->day = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:848:45: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 848 | pc->day = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:855:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 855 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:855:41: | 855 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:855:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:856:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 856 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:856:31: | 856 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:863:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 863 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:863:31: | 863 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -49 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:863:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |48 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:864:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:864:13: | 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:870:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 870 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 46:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2169 || case 46: /* date: tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:870:31: | 870 | pc->month = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:875:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 875 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:875:31: | 875 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -112 till byte -105 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:875:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+-----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |104 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:876:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 876 | pc->day = $2.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:876:41: | 876 | pc->day = $2.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:876:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:881:41: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 881 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 48:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2188 || case 48: /* date: tUNUMBER tMONTH */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:881:41: | 881 | pc->day = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:886:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 886 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:886:41: | 886 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:886:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:887:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 887 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:887:31: | 887 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:897:18: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 897 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:897:18: | 897 | pc->year = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -33 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:897:18: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+---+ +--------+-------+ |under-read of 24 bytes| |32 bytes| |size: 1120 bytes| +----------------------+ +--------+ +----------------+ gl/parse-datetime.y:898:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:898:13: | 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:905:15: warning: use of uninitialized value '_150->rel' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 52:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2218 || case 52: /* rel: relunit tAGO */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:905:15: | 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value '_150->rel' here | gl/parse-datetime.y:914:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 55:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2236 || case 55: /* relunit: tORDINAL tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:914:69: | 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:916:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 56:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2242 || case 56: /* relunit: tUNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:916:81: | 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:920:70: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 58:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2254 || case 58: /* relunit: tORDINAL tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:920:70: | 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:922:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 59:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2260 || case 59: /* relunit: tUNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:922:82: | 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:927:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 61:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2272 || case 61: /* relunit: tORDINAL tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:927:13: | 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:930:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 62:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2279 || case 62: /* relunit: tUNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:930:13: | 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:934:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 64:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2292 || case 64: /* relunit: tORDINAL tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:934:69: | 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:936:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 65:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2298 || case 65: /* relunit: tUNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:936:81: | 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:940:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 67:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2310 || case 67: /* relunit: tORDINAL tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:940:72: | 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:942:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 68:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2316 || case 68: /* relunit: tUNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:942:84: | 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:946:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 70:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2328 || case 70: /* relunit: tORDINAL tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:946:72: | 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:948:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 71:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2334 || case 71: /* relunit: tUNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:948:84: | 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:950:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 72:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2340 || case 72: /* relunit: tSDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:950:82: | 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:952:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 73:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2346 || case 73: /* relunit: tUDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:952:82: | 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:960:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 76:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2358 || case 76: /* relunit_snumber: tSNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:960:81: | 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:962:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 77:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2364 || case 77: /* relunit_snumber: tSNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:962:82: | 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:965:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 78:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2370 || case 78: /* relunit_snumber: tSNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:965:13: | 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:967:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 79:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2377 || case 79: /* relunit_snumber: tSNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:967:81: | 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:969:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 80:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2383 || case 80: /* relunit_snumber: tSNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:969:84: | 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:971:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 81:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2389 || case 81: /* relunit_snumber: tSNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:971:84: | 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:985:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 86:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2401 || case 86: /* signed_seconds: tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:985:79: | 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:992:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 88:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2408 || case 88: /* unsigned_seconds: tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:992:79: | 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:1005:9: warning: use of uninitialized value '_213->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1005 | digits_to_date_time (pc, $1); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 90:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2421 || case 90: /* hybrid: tUNUMBER relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1005:9: | 1005 | digits_to_date_time (pc, $1); | | ^ | | | | | (52) use of uninitialized value '_213->textintval' here | gl/parse-datetime.y:1014:47: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1014 | { $$ = $2.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 92:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2438 || case 92: /* o_colon_minutes: ':' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1014:47: | 1014 | { $$ = $2.value; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 39:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2070 || case 39: /* day: tDAY ',' */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:797:36: | 797 | pc->day_number = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:801:37: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 801 | pc->day_ordinal = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 40:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2079 || case 40: /* day: tORDINAL tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:801:37: | 801 | pc->day_ordinal = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:807:49: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 807 | pc->day_ordinal = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 41:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2089 || case 41: /* day: tUNUMBER tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:807:49: | 807 | pc->day_ordinal = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:816:43: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 816 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:816:43: | 816 | pc->month = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:816:43: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:817:40: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 817 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:817:40: | 817 | pc->day = $3.value; | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:826:40: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 826 | if (4 <= $1.digits) | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:826:40: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) out-of-bounds read from byte -152 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:826:40: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-------------------------+ |read of 'idx_t' (8 bytes)| +-------------------------+ ^ | | +-------------------------+ +----------+-------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +-------------------------+ +--------------------------------------+ |~~~~~~~~~~~~+~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |144 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:836:22: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 836 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | | (54) out-of-bounds read from byte -168 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:836:22: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 836 | pc->year = $1; | ^ +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+----+ +--------+-------+ |under-read of 24 bytes| |144 bytes| |size: 1120 bytes| +----------------------+ +---------+ +----------------+ gl/parse-datetime.y:837:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 837 | pc->month = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:837:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 837 | pc->month = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:838:44: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 838 | pc->day = $5.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | 838 | pc->day = $5.value; | | | | | | | (54) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:847:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 847 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | | (54) out-of-bounds read from byte -160 till byte -153 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:847:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 847 | pc->month = $1.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +----------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +----------+----------+ +----+----+ +--------+-------+ |under-read of 8 bytes| |152 bytes| |size: 1120 bytes| +---------------------+ +---------+ +----------------+ gl/parse-datetime.y:848:45: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 848 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | 848 | pc->day = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:848:45: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 848 | pc->day = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:855:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 855 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:855:41: | 855 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:855:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:856:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 856 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:856:31: | 856 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:863:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 863 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:863:31: | 863 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -49 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:863:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |48 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:864:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:864:13: | 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:870:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 870 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 46:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2169 || case 46: /* date: tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:870:31: | 870 | pc->month = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:875:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 875 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:875:31: | 875 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -112 till byte -105 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:875:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+-----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |104 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:876:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 876 | pc->day = $2.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:876:41: | 876 | pc->day = $2.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:876:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:881:41: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 881 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 48:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2188 || case 48: /* date: tUNUMBER tMONTH */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:881:41: | 881 | pc->day = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:886:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 886 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:886:41: | 886 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:886:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:887:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 887 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:887:31: | 887 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:897:18: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 897 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:897:18: | 897 | pc->year = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -33 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:897:18: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+---+ +--------+-------+ |under-read of 24 bytes| |32 bytes| |size: 1120 bytes| +----------------------+ +--------+ +----------------+ gl/parse-datetime.y:898:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:898:13: | 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:905:15: warning: use of uninitialized value '_150->rel' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 52:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2218 || case 52: /* rel: relunit tAGO */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:905:15: | 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value '_150->rel' here | gl/parse-datetime.y:914:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 55:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2236 || case 55: /* relunit: tORDINAL tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:914:69: | 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:916:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 56:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2242 || case 56: /* relunit: tUNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:916:81: | 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:920:70: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 58:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2254 || case 58: /* relunit: tORDINAL tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:920:70: | 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:922:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 59:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2260 || case 59: /* relunit: tUNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:922:82: | 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:927:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 61:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2272 || case 61: /* relunit: tORDINAL tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:927:13: | 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:930:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 62:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2279 || case 62: /* relunit: tUNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:930:13: | 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:934:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 64:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2292 || case 64: /* relunit: tORDINAL tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:934:69: | 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:936:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 65:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2298 || case 65: /* relunit: tUNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:936:81: | 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:940:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 67:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2310 || case 67: /* relunit: tORDINAL tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:940:72: | 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:942:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 68:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2316 || case 68: /* relunit: tUNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:942:84: | 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:946:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 70:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2328 || case 70: /* relunit: tORDINAL tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:946:72: | 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:948:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 71:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2334 || case 71: /* relunit: tUNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:948:84: | 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:950:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 72:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2340 || case 72: /* relunit: tSDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:950:82: | 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:952:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 73:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2346 || case 73: /* relunit: tUDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:952:82: | 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:960:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 76:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2358 || case 76: /* relunit_snumber: tSNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:960:81: | 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:962:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 77:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2364 || case 77: /* relunit_snumber: tSNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:962:82: | 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:965:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 78:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2370 || case 78: /* relunit_snumber: tSNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:965:13: | 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:967:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 79:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2377 || case 79: /* relunit_snumber: tSNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:967:81: | 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:969:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 80:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2383 || case 80: /* relunit_snumber: tSNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:969:84: | 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:971:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 81:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2389 || case 81: /* relunit_snumber: tSNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:971:84: | 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:985:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 86:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2401 || case 86: /* signed_seconds: tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:985:79: | 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:992:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 88:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2408 || case 88: /* unsigned_seconds: tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:992:79: | 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:1005:9: warning: use of uninitialized value '_213->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1005 | digits_to_date_time (pc, $1); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 90:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2421 || case 90: /* hybrid: tUNUMBER relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1005:9: | 1005 | digits_to_date_time (pc, $1); | | ^ | | | | | (52) use of uninitialized value '_213->textintval' here | gl/parse-datetime.y:1014:47: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1014 | { $$ = $2.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 92:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2438 || case 92: /* o_colon_minutes: ':' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1014:47: | 1014 | { $$ = $2.value; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | cli.c: In function 'try_resume.isra': cli.c:1049:28: warning: 'size' may be used uninitialized [-Wmaybe-uninitialized] 1049 | edata.size = size; | ^ cli.c:1040:24: note: 'size' was declared here 1040 | size_t size; | ^ In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 39:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2070 || case 39: /* day: tDAY ',' */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:797:36: | 797 | pc->day_number = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:801:37: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 801 | pc->day_ordinal = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 40:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2079 || case 40: /* day: tORDINAL tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:801:37: | 801 | pc->day_ordinal = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:807:49: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 807 | pc->day_ordinal = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 41:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2089 || case 41: /* day: tUNUMBER tDAY */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:807:49: | 807 | pc->day_ordinal = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:816:43: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 816 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:816:43: | 816 | pc->month = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:816:43: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:817:40: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 817 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 42:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2099 || case 42: /* date: tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:817:40: | 817 | pc->day = $3.value; | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:826:40: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 826 | if (4 <= $1.digits) | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:826:40: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) out-of-bounds read from byte -152 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:826:40: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-------------------------+ |read of 'idx_t' (8 bytes)| +-------------------------+ ^ | | +-------------------------+ +----------+-------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +-------------------------+ +--------------------------------------+ |~~~~~~~~~~~~+~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |144 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:836:22: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 836 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | | (54) out-of-bounds read from byte -168 till byte -145 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:836:22: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 836 | pc->year = $1; | ^ +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+----+ +--------+-------+ |under-read of 24 bytes| |144 bytes| |size: 1120 bytes| +----------------------+ +---------+ +----------------+ gl/parse-datetime.y:837:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 837 | pc->month = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:837:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 837 | pc->month = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:838:44: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 838 | pc->day = $5.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'true' branch... ->-+ | | | |...... | | | | |+----------------------------------------------+ | 836 || pc->year = $1; | || ~ | || | | |+-------------------->(53) ...to here | 837 | pc->month = $3.value; | 838 | pc->day = $5.value; | | | | | | | (54) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:847:47: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 847 | pc->month = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | | (54) out-of-bounds read from byte -160 till byte -153 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:847:47: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 847 | pc->month = $1.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +----------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||~+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +----------+----------+ +----+----+ +--------+-------+ |under-read of 8 bytes| |152 bytes| |size: 1120 bytes| +---------------------+ +---------+ +----------------+ gl/parse-datetime.y:848:45: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 848 | pc->day = $3.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 43:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2108 || case 43: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': events 52-54 | |gl/parse-datetime.y:826:12: | 826 | if (4 <= $1.digits) | | ^ | | | | | (52) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------------+ | 847 || pc->month = $1.value; | || | || | | |+--------------------------------------------->(53) ...to here | 848 | pc->day = $3.value; | | | | | | | (54) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:848:45: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' 848 | pc->day = $3.value; | ^ +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:855:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 855 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:855:41: | 855 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:855:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:856:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 856 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 44:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2145 || case 44: /* date: tUNUMBER tMONTH tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:856:31: | 856 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:863:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 863 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:863:31: | 863 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -49 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:863:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |48 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:864:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 45:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2157 || case 45: /* date: tMONTH tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:864:13: | 864 | if (ckd_sub (&pc->day, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:870:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 870 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 46:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2169 || case 46: /* date: tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:870:31: | 870 | pc->month = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:875:31: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 875 | pc->month = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:875:31: | 875 | pc->month = $1; | | ^ | | | | | (52) out-of-bounds read from byte -112 till byte -105 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:875:31: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+-----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+-----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+~||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+----+ +--------+-------+ | |104 bytes| |size: 1120 bytes| | +---------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:876:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 876 | pc->day = $2.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 47:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2178 || case 47: /* date: tMONTH tUNUMBER ',' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:876:41: | 876 | pc->day = $2.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:876:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:881:41: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 881 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 48:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2188 || case 48: /* date: tUNUMBER tMONTH */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:881:41: | 881 | pc->day = $1.value; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:886:41: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 886 | pc->day = $1.value; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:886:41: | 886 | pc->day = $1.value; | | ^ | | | | | (52) out-of-bounds read from byte -48 till byte -41 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:886:41: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +----------------------------+ |read of 'intmax_t' (8 bytes)| +----------------------------+ ^ | | +----------------------------+ +----------+------------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+------------+-------------+ | | | 'yyvsa' (type: 'union YYSTYPE[20]') | +----------------------------+ +-------------------------------------+ |~~~~~~~~~~~~~+~~~~~~~~~~~~~~||+||~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~| | | | | +----+---+ +--------+-------+ | |40 bytes| |size: 1120 bytes| | +--------+ +----------------+ +----------+----------+ |under-read of 8 bytes| +---------------------+ gl/parse-datetime.y:887:31: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 887 | pc->month = $2; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 49:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2197 || case 49: /* date: tUNUMBER tMONTH tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:887:31: | 887 | pc->month = $2; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:897:18: warning: stack-based buffer under-read [CWE-127] [-Wanalyzer-out-of-bounds] 897 | pc->year = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) capacity: 1120 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:897:18: | 897 | pc->year = $1; | | ^ | | | | | (52) out-of-bounds read from byte -56 till byte -33 but 'yyvsa' starts at byte 0 | gl/parse-datetime.y:897:18: note: valid subscripts for 'yyvsa' are '[0]' to '[19]' +-----------------------------------+ |read of 'struct textint' (24 bytes)| +-----------------------------------+ ^ | | +-----------------------------------+ +----------+----------+-------------+ | | | [0] | ... | [19] | | before valid range | +----------+----------+-------------+ | | |'yyvsa' (type: 'union YYSTYPE[20]')| +-----------------------------------+ +-----------------------------------+ |~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~||||~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~| | | | +-----------+----------+ +----+---+ +--------+-------+ |under-read of 24 bytes| |32 bytes| |size: 1120 bytes| +----------------------+ +--------+ +----------------+ gl/parse-datetime.y:898:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 51:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2207 || case 51: /* iso_8601_date: tUNUMBER tSNUMBER tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:898:13: | 898 | if (ckd_sub (&pc->month, 0, $2.value)) YYABORT; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:905:15: warning: use of uninitialized value '_150->rel' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 52:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2218 || case 52: /* rel: relunit tAGO */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:905:15: | 905 | { if (! apply_relative_time (pc, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value '_150->rel' here | gl/parse-datetime.y:914:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 55:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2236 || case 55: /* relunit: tORDINAL tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:914:69: | 914 | { $$ = RELATIVE_TIME_0; $$.year = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:916:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 56:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2242 || case 56: /* relunit: tUNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:916:81: | 916 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:920:70: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 58:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2254 || case 58: /* relunit: tORDINAL tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:920:70: | 920 | { $$ = RELATIVE_TIME_0; $$.month = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:922:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 59:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2260 || case 59: /* relunit: tUNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:922:82: | 922 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:927:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 61:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2272 || case 61: /* relunit: tORDINAL tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:927:13: | 927 | if (ckd_mul (&$$.day, $1, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:930:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 62:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2279 || case 62: /* relunit: tUNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:930:13: | 930 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:934:69: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 64:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2292 || case 64: /* relunit: tORDINAL tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:934:69: | 934 | { $$ = RELATIVE_TIME_0; $$.hour = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:936:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 65:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2298 || case 65: /* relunit: tUNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:936:81: | 936 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:940:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 67:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2310 || case 67: /* relunit: tORDINAL tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:940:72: | 940 | { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:942:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 68:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2316 || case 68: /* relunit: tUNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:942:84: | 942 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:946:72: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 70:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2328 || case 70: /* relunit: tORDINAL tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:946:72: | 946 | { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:948:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 71:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2334 || case 71: /* relunit: tUNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:948:84: | 948 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:950:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 72:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2340 || case 72: /* relunit: tSDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:950:82: | 950 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:952:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 73:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2346 || case 73: /* relunit: tUDECIMAL_NUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:952:82: | 952 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_sec' here | gl/parse-datetime.y:960:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 76:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2358 || case 76: /* relunit_snumber: tSNUMBER tYEAR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:960:81: | 960 | { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:962:82: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 77:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2364 || case 77: /* relunit_snumber: tSNUMBER tMONTH_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:962:82: | 962 | { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:965:13: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 78:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2370 || case 78: /* relunit_snumber: tSNUMBER tDAY_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:965:13: | 965 | if (ckd_mul (&$$.day, $1.value, $2)) YYABORT; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:967:81: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 79:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2377 || case 79: /* relunit_snumber: tSNUMBER tHOUR_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:967:81: | 967 | { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:969:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 80:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2383 || case 80: /* relunit_snumber: tSNUMBER tMINUTE_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:969:84: | 969 | { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:971:84: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 81:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2389 || case 81: /* relunit_snumber: tSNUMBER tSEC_UNIT */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:971:84: | 971 | { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:985:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 86:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2401 || case 86: /* signed_seconds: tSNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:985:79: | 985 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:992:79: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 88:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2408 || case 88: /* unsigned_seconds: tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:992:79: | 992 | $$ = (struct timespec) { .tv_sec = $1.value }; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | gl/parse-datetime.y:1005:9: warning: use of uninitialized value '_213->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1005 | digits_to_date_time (pc, $1); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 90:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2421 || case 90: /* hybrid: tUNUMBER relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1005:9: | 1005 | digits_to_date_time (pc, $1); | | ^ | | | | | (52) use of uninitialized value '_213->textintval' here | gl/parse-datetime.y:1014:47: warning: use of uninitialized value 'yyvsp_253->textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1014 | { $$ = $2.value; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 92:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2438 || case 92: /* o_colon_minutes: ':' tUNUMBER */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:1014:47: | 1014 | { $$ = $2.value; } | | ^ | | | | | (52) use of uninitialized value 'yyvsp_253->textintval.value' here | In function 'yyparse': lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 54:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2230 || case 54: /* rel: dayshift */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 34:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2033 || case 34: /* zone: 'T' relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | lto1: warning: use of uninitialized value 'yyvsp_253->rel.month' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 53:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2224 || case 53: /* rel: relunit */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |lto1: | (52): use of uninitialized value 'yyvsp_253->rel.month' here | In function 'digits_to_date_time': lto1: warning: use of uninitialized value 'text_int.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-23 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (15) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(16) ...to here | | (17) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(18) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (19) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(20) ...to here | | (21) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(22) ...to here | | (23) calling 'yylex' from 'yyparse' | +--> 'yylex': events 24-25 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (24) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (25) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 26-27 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (26) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (27) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 28 | |lto1: | (28): ...to here | <------+ | 'yylex': event 29 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (29) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 30-50 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (41) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(42) ...to here | | (43) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(44) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (45) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(46) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (31) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(32) ...to here | | (33) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(34) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (47) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(48) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (49) following 'case 89:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2415 || case 89: /* number: tUNUMBER */ | || ~ | || | | |+->(50) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (35) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(36) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (37) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(38) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (39) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(40) ...to here | 'yyparse': event 51 | |gl/parse-datetime.y:997:9: | 997 | { digits_to_date_time (pc, $1); } | | ^ | | | | | (51) calling 'digits_to_date_time' from 'yyparse' | +--> 'digits_to_date_time': events 52-53 | | 273 | digits_to_date_time (parser_control *pc, textint text_int) | | ^ ~ | | | | | | (52) entry to 'digits_to_date_time' (53) region created on stack here | 'digits_to_date_time': event 54 | |lto1: | (54): use of uninitialized value 'text_int.value' here | gl/parse-datetime.c: In function 'yyparse': gl/parse-datetime.c:1798:12: warning: use of uninitialized value 'yylval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1798 | *++yyvsp = yylval; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-25 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1593 | YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); | | ~ | | | | | (15) region created on stack here | | (16) capacity: 56 bytes |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (17) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(18) ...to here | | (19) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(20) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (21) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(22) ...to here | | (23) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(24) ...to here | | (25) calling 'yylex' from 'yyparse' | +--> 'yylex': events 26-27 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (26) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (27) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 28 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (28) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 29 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(29) ...to here | <------+ | 'yyparse': events 30-37 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (30) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (31) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(32) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (33) following 'false' branch (when 'yyn_278 > 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1791 || if (yyerrstatus) | || ~ | || | | |+---->(34) ...to here | | (35) following 'false' branch (when 'yyerrstatus_247 == 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------------+ | 1798 || *++yyvsp = yylval; | || ~ | || | | |+---------->(36) ...to here | | (37) use of uninitialized value 'yylval' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(21) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (22) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(23) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (24) use of uninitialized value '*_14' here | gl/parse-datetime.c:1831:9: warning: use of uninitialized value '*_14' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 1831 | yyval = yyvsp[1-yylen]; | ^ 'parse_datetime_body': events 1-6 | |gl/parse-datetime.y:1747:1: | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1514 | if (c_isalpha (c)) | | ~ | | | | | (26) inlined call to 'c_isalpha' from 'yylex' | +--> 'c_isalpha': event 27 | |gl/./c-ctype.h:185:3: | 185 | switch (c) | | ^ | | | | | (27) following 'default:' branch... ->-+ | | | | <------+ | 'yylex': event 28 | |gl/parse-datetime.y:1540:10: | | | | |+-----------------------------------------+ | 1540 || if (c != '(') | || ^ | || | | |+-------->(28) ...to here | <------+ | 'yyparse': events 29-34 | |gl/parse-datetime.c:1750:16: | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (29) returning to 'yyparse' from 'yylex' |...... | 1778 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | | ~ | | | | | (30) following 'false' branch... ->-+ | | | | | | | |+-----------------------------------------+ | 1779 || goto yydefault; | 1780 || yyn = yytable[yyn]; | || ~ | || | | |+-------------->(31) ...to here | 1781 | if (yyn <= 0) | | ~ | | | | | (32) following 'true' branch (when 'yyn_278 <= 0')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------+ | 1785 || yyn = -yyn; | || ~ | || | | |+--------->(33) ...to here |...... | 1831 | yyval = yyvsp[1-yylen]; | | ~ | | | | | (34) use of uninitialized value '*_14' here | gl/parse-datetime.y:688:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 19:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1934 || case 19: /* time: tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:688:9: | 688 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:693:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 20:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1943 || case 20: /* time: tUNUMBER ':' tUNUMBER tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:693:9: | 693 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:698:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 21:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1952 || case 21: /* time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds tMERIDIAN */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:698:134: | 698 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:707:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 23:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1961 || case 23: /* iso_8601_time: tUNUMBER zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:707:9: | 707 | set_hhmmss (pc, $1.value, 0, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:712:9: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 24:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1970 || case 24: /* iso_8601_time: tUNUMBER ':' tUNUMBER o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:712:9: | 712 | set_hhmmss (pc, $1.value, $3.value, 0, 0); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].textintval.value' here | gl/parse-datetime.y:717:134: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 25:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1979 || case 25: /* iso_8601_time: tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_zone_offset */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:717:134: | 717 | set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].timespec.tv_nsec' here | gl/parse-datetime.y:731:15: warning: use of uninitialized value '_61->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 28:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1988 || case 28: /* zone_offset: tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:731:15: | 731 | if (! time_zone_hhmm (pc, $1, $2)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_61->textintval' here | gl/parse-datetime.y:770:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 770 | { pc->time_zone = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 33:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2024 || case 33: /* zone: tZONE relunit_snumber */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:770:35: | 770 | { pc->time_zone = $1; | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:780:15: warning: use of uninitialized value '_72->textintval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 35:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2042 || case 35: /* zone: tZONE tSNUMBER o_colon_minutes */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:780:15: | 780 | { if (! time_zone_hhmm (pc, $2, $3)) YYABORT; | | ^ | | | | | (52) use of uninitialized value '_72->textintval' here | gl/parse-datetime.y:785:35: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 785 | { pc->time_zone = $1 + 60 * 60; } | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | | | | |+---------------------------------------------------------------+ | 1812 || goto yyerrlab; | 1813 || goto yyreduce; | || ~ | || | | |+->(49) ...to here |...... | 1835 | switch (yyn) | | ~ | | | | | (50) following 'case 37:' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 2055 || case 37: /* zone: tZONE tDST */ | || ~ | || | | |+->(51) ...to here |...... | 2548 | if (!yypact_value_is_default (yyn)) | | ~ | | | | | (36) following 'true' branch (when 'yyn_424 != -91')... ->-+ | | | | | | | |+--------------------------------------------------------------------+ | 2549 || { | 2550 || yyn += YYSYMBOL_YYerror; | || ~ | || | | |+------------->(37) ...to here | 2551 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) | | ~ | | | | | (38) following 'true' branch... ->-+ | | | | | | | |+------------------------------------------------+ | 2552 || { | 2553 || yyn = yytable[yyn]; | || ~ | || | | |+-------------------------->(39) ...to here | 2554 | if (0 < yyn) | | ~ | | | | | (40) following 'true' branch (when 'yyn_426 > 0')... ->-+ | | | |...... | | | | |+-------------------------------------------------------------------------+ | 2572 || *++yyvsp = yylval; | || ~ | || | | |+---------->(41) ...to here | 'yyparse': event 52 | |gl/parse-datetime.y:785:35: | 785 | { pc->time_zone = $1 + 60 * 60; } | | ^ | | | | | (52) use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' here | gl/parse-datetime.y:797:36: warning: use of uninitialized value 'MEM[(union YYSTYPE *)yyvsp_253 + -56B].intval' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 797 | pc->day_number = $1; | ^ 'parse_datetime_body': events 1-6 | | 1747 | parse_datetime_body (struct timespec *result, char const *p, | | ^ | | | | | (1) entry to 'parse_datetime_body' |...... | 1829 | if (! localtime_rz (tz, &now->tv_sec, &tmp)) | | ~ | | | | | (2) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1835 || if (*p == '\0') | || ~ | || | | |+----->(3) ...to here |...... | 1843 | if (ckd_add (&pc.year.value, tmp.tm_year, TM_YEAR_BASE)) | | ~ | | | | | (4) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1849 || pc.year.digits = 0; | || ~ | || | | |+---------------->(5) ...to here |...... | 1878 | populate_local_time_zone_table (&pc, &tmp); | | ~ | | | | | (6) inlined call to 'populate_local_time_zone_table' from 'parse_datetime_body' | +--> 'populate_local_time_zone_table': events 7-8 | | 1601 | if (tm->tm_zone[0]) | | ^ | | | | | (7) following 'false' branch... ->-+ | | | |...... | | | | |+----------------------------------------+ | 1608 || e->name = zone; | || ~ | || | | |+--------->(8) ...to here | <------+ | 'parse_datetime_body': events 9-10 | | 1882 | for (int quarter = 1; quarter <= 3; quarter++) | | ^ | | | | | (9) following 'true' branch (when 'quarter_175 != 4')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------------------------------+ | 1885 || if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | || ~ | || | | |+--------->(10) ...to here | 'parse_datetime_body': event 11 | | 1885 | if (ckd_add (&probe, Start, quarter * (90 * 24 * 60 * 60))) | | ^ | | | | | (11) following 'true' branch... ->-+ | | | | 'parse_datetime_body': event 12 | |lto1: | (12): ...to here | 'parse_datetime_body': event 13 | | 1910 | if (yyparse (&pc) != 0) | | ^ | | | | | (13) calling 'yyparse' from 'parse_datetime_body' | +--> 'yyparse': events 14-24 | |gl/parse-datetime.c:1583:1: | 1583 | yyparse (parser_control *pc) | | ^ | | | | | (14) entry to 'yyparse' |...... | 1614 | YYSTYPE yyvsa[YYINITDEPTH]; | | ~ | | | | | (15) region created on stack here |...... | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (16) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(17) ...to here | | (18) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(19) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (20) following 'false' branch (when 'yyn_273 != -91')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1747 || if (yychar == YYEMPTY) | || ~ | || | | |+---->(21) ...to here | | (22) following 'true' branch (when 'yychar_230 == -2')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------+ | 1750 || yychar = yylex (&yylval, pc); | || ~ | || | | |+-------------->(23) ...to here | | (24) calling 'yylex' from 'yyparse' | +--> 'yylex': events 25-26 | |gl/parse-datetime.y:1427:1: | 1427 | yylex (union YYSTYPE *lvalp, parser_control *pc) | | ^ | | | | | (25) entry to 'yylex' |...... | 1529 | tp = lookup_word (pc, buff); | | ~ | | | | | (26) calling 'lookup_word' from 'yylex' | +--> 'lookup_word': events 27-28 | | 1359 | lookup_word (parser_control const *pc, char *word) | | ^ | | | | | (27) entry to 'lookup_word' |...... | 1373 | if (strcmp (word, tp->name) == 0) | | ~ | | | | | (28) following 'true' branch (when the strings are equal)... ->-+ | | | | 'lookup_word': event 29 | |lto1: | (29): ...to here | <------+ | 'yylex': event 30 | | 1529 | tp = lookup_word (pc, buff); | | ^ | | | | | (30) returning to 'yylex' from 'lookup_word' | <------+ | 'yyparse': events 31-51 | |gl/parse-datetime.c:1750:16: | 1662 | if (yyss + yystacksize - 1 <= yyssp) | | ~ | | | | | (42) following 'false' branch... ->-+ | | | |...... | | | | |+-----------------------------------------+ | 1726 || if (yystate == YYFINAL) | || ~ | || | | |+---->(43) ...to here | | (44) following 'false' branch (when 'yystate_243 != 12')... ->-+ | | | |...... | | | | |+--------------------------------------------------------------------+ | 1729 || goto yybackup; | || ~ | || | | |+->(45) ...to here |...... | 1741 | if (yypact_value_is_default (yyn)) | | ~ | | | | | (46) following 'true' branch (when 'yyn_273 == -91')... ->-+ | | | | | | | |+----------------------------------------------------------------+ | 1742 || goto yydefault; | || ~ | || | | |+--->(47) ...to here |...... | 1750 | yychar = yylex (&yylval, pc); | | ^ | | | | | (31) returning to 'yyparse' from 'yylex' |...... | 1753 | if (yychar <= YYEOF) | | ~ | | | | | (32) following 'false' branch (when 'yychar_231 > 0')... ->-+ | | | |...... | | | | |+-----------------------------------------------------------------+ | 1759 || else if (yychar == YYerror) | || ~ | || | | |+--------->(33) ...to here | | (34) following 'true' branch (when 'yychar_231 == 256')... ->-+ | | | |...... | | | | |+------------------------------------------------------------------------+ | 1767 || goto yyerrlab1; | || ~ | || | | |+----->(35) ...to here |...... | 1811 | if (yyn == 0) | | ~ | | | | | (48) following 'false' branch (when 'yyn_283 != 0')... ->-+ | | | | |