Change Log 7.6.15 - 7.6.16 (November 21, 2015)

From BOINC Wiki
Preliminary Change Log 7.6.15 -> 7.6.16
  • client: show "wrong URL - reattach" message as a notice.
  • client: remove CLIENT_STATE destructor; causes crash on Win. There's no reason to destruct anything; we're exiting.
  • client: add config option to not lower client priority.
• We added code a couple of months ago to lower client priority: on Win, this is SetPriorityClass(), which lowers I/O and memory priority as well as CPU.
This has the desired effect, i.e. to reduce the performance impact of BOINC when it's doing things like copying large files. However, it means that :BOINC can take a long time to start at boot, which may be disconcerting to some users.
  • MRG: fix crashing bug.
• Don't do fprintf(stdout, msg). If msg contains %, this will crash. Instead do fprintf(stdout, "%s", msg).
  • client, Win: use SetThreadPriority() to lower client priority.
• We had used SetPriorityClass() for this purpose, but apparently this is too extreme, and causes the client to run very slowly; see [1]
  • MGR: show zero time intervals as --- rather than 00:00:00.
  • MGR: tweaks in task properties.
  • LIB: Prevent the xml_unescape function from injecting control characters into strings.
  • Revert "lib: Prevent the xml_unescape function from injecting control characters into strings."
  • Lib: check return value of element_contents()
fixes CID 27713 found by Coverity
  • Lib: check return value of parse_str()
fixes CID 27703 found by Coverity
  • Lib: ignore check_return defects
This is intended because parse_str() won't change physical_name if it fails.
fixes CID 27684,27719 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 27987 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 28017 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 27975,27996,28026 found by Coverity
  • Lib: initialize fields in constructors
fixes CID 27962 found by Coverity
  • Lib: check return value of scanf()
ignore the scanf() calls inside the loops to not loose performance (untested)
fixes CID 27691 found by Coverity
  • Lib: check return value of fread() in crypt_prog
fixes CID 27709 found by Coverity
  • Lib: check return value of scan_key_hex() in crypt_prog
fixes CID 27714 found by Coverity
  • Lib: prevent null dereference after fopen() in crypt_prog
fixes CID 27899 found by Coverity
  • Lib: check return values of file operations
errorcodes are introduced in 27594f0b
Fixes CID 27701, 27707 found by Coverity
  • Lib: introduce new error numbers and add missing descriptions
  • Lib: check return value of fcntl() in boinc_fopen()
There is no way to communicate what failed to the caller because they usually don't check the return value in the case of non-zero.
fixes CID 27690 found by Coverity
  • Lib: check return value of select()
fixes CID 27700 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 27953 found by Coverity
  • Lib: initialize fields in constructors
fixes CID 27960, 28023 found by Coverity
  • Lib: initialize fields in constructors
fixes CID 27940,27947,27951 found by Coverity
  • Lib: prevent resource leak
If a notice with seqno == -1 is parsed the object was not deleted.
fixes CID 27845 found by Coverity
  • Lib: initialize buffer before usage
fixes CID 27956 found by Coverity
  • Lib: check return value
This does not break compatibility because the current caller CLIENT_STATE::write_state_file() is opening the file again for each retry if MFILE::close() fails.
fixes CID 34502 found by Coverity
  • Lib: initialize field in constructor
fixes CID 27976 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 27985 found by Coverity
  • Lib: initialize field in constructor
fixes CID 27945 found by Coverity
  • Lib: check return value of getsockopt()
fixes CID 27722 found by Coverity
  • Lib: check return value of fcntl()
fixes CID 27704 found by Coverity
  • Lib: check return value of getsockname()
fixes CID 27697 found by Coverity
  • Lib: initialize field in constructor
fixes CID 28032 found bv Coverity
  • Lib: prevent buffer overflow
fixes CID 27755 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 28000 found by Coverity
  • Lib: prevent dereference of null value
fixes CID 34508 found by Coverity
  • Lib: prevent resource leak
fixes CID 27906 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 27971, 28011 found by Coverity
  • Lib: initialize fields in constructor
fixes CID 28014 found by Coverity
  • MGR: prevent resource leak
fixes CID 38988 found by Coverity
  • MGR: make sure strings are null terminated
strncpy() doesn't null-terminate the destination string if the source string is not null terminated.
fixes CID 38958, 38959, 38960 found by Coverity