tree 59bf8a48b29b389ae06905cc9129cac4f9143485
parent 1640b40ee91c36349270570e0d7e2848e13dce75
author Jan Kundrát <jan.kundrat@cesnet.cz> 1630324942 +0200
committer Michal Vasko <mvasko@cesnet.cz> 1632378385 +0200

ly_time_ts2str: check against a negative value as well

This was found by GCC11:

[11/205] Building C object CMakeFiles/yangobj.dir/src/tree_data_helpers.c.o
/home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_data_helpers.c: In function ‘ly_time_ts2str’:
/home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_data_helpers.c:903:28: warning: ‘%09ld’ directive writing between 9 and 20 bytes into a region of size 10 [-Wformat-overflow=]
  903 |         sprintf(frac_buf, "%09ld", ts->tv_nsec);
      |                            ^~~~~
/home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_data_helpers.c:903:27: note: directive argument in the range [-9223372036854775808, 999999999]
  903 |         sprintf(frac_buf, "%09ld", ts->tv_nsec);
      |                           ^~~~~~~
In file included from /nix/store/iwd8ic5hhwdxn5dga0im55g5hjl270cd-glibc-2.33-47-dev/include/stdio.h:866,
                 from /home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_schema.h:23,
                 from /home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_data.h:31,
                 from /home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/context.h:22,
                 from /home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/common.h:23,
                 from /home/jkt/work/cesnet/gerrit/github/CESNET/libyang/src/tree_data_helpers.c:24:
/nix/store/iwd8ic5hhwdxn5dga0im55g5hjl270cd-glibc-2.33-47-dev/include/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 10 and 21 bytes into a destination of size 10
   38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   39 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   40 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~
