Hi all,

I've testing RH v3.1.5 on SUSE15 (Cray CLE7 UP00), and it looks like the
version of GCC that ships with the OS does not like a few things in the
backup.c module file. Please see the compilation error below.

It looks like a pretty straightforward fix but I wanted to report it to the
community.


# gcc --version
gcc (SUSE Linux) 7.4.1 20190424 [gcc-7-branch revision 270538]


# make rpm
...
Making all in modules
make[2]: Entering directory '/purge/rh315/robinhood-3.1.5/src/modules'
  CC       common_actions.lo
  CC       common_sched.lo
  CC       sched_ratelimit.lo
  CC       mod_internal.lo
  CCLD     librbh_mod_common.la
  CC       alerter.lo
  CCLD     librbh_mod_alerter.la
  CC       checker.lo
  CCLD     librbh_mod_checker.la
  CC       basic.lo
  CCLD     librbh_mod_basic.la
  CC       modeguard.lo
  CCLD     librbh_mod_modeguard.la
  CC       test_sched.lo
  CCLD     librbh_mod_test.la
  CC       lhsm.lo
  CCLD     librbh_mod_lhsm.la
  CC       librbh_mod_backup_la-backup.lo
backup.c: In function 'get_orig_dir_md':
backup.c:1177:30: error: 'sprintf' may write a terminating nul past the end
of the destination [-Werror=format-overflow=]
     sprintf(orig_path, "%s/%s", src_root, rel_path);
                              ^
backup.c:1177:5: note: 'sprintf' output 2 or more bytes (assuming 4097)
into a destination of size 4096
     sprintf(orig_path, "%s/%s", src_root, rel_path);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
backup.c: In function 'move_orphan':
backup.c:573:23: error: '%s' directive writing 8 bytes into a region of
size between 0 and 4095 [-Werror=format-overflow=]
     sprintf(dest, "%s/%s", config.root, TRASH_DIR);
                       ^~
backup.c:573:5: note: 'sprintf' output between 10 and 4105 bytes into a
destination of size 4096
     sprintf(dest, "%s/%s", config.root, TRASH_DIR);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
backup.c:587:38: error: '%s' directive output may be truncated writing 8
bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
     snprintf(dest, RBH_PATH_MAX, "%s/%s/%s", config.root, TRASH_DIR,
fname);
                                      ^~
backup.c:587:5: note: 'snprintf' output 11 or more bytes (assuming 4106)
into a destination of size 4096
     snprintf(dest, RBH_PATH_MAX, "%s/%s/%s", config.root, TRASH_DIR,
fname);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:615: librbh_mod_backup_la-backup.lo] Error 1



Thanks,
Kirill
_______________________________________________
robinhood-support mailing list
robinhood-support@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/robinhood-support

Reply via email to