Difference between revisions of "Change Log 7.6.15 - 7.6.16 (November 21, 2015)"
From BOINC Wiki
(Adding raw data) |
(adding formatting) |
||
Line 1: | Line 1: | ||
− | + | ;Preliminary Change Log 7.6.15 -> 7.6.16 | |
− | client: show "wrong URL - reattach" message as a notice. | + | *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: 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. | + | *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. | + | :• 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. | + | :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. | + | *MRG: fix crashing bug. |
− | • Don't do fprintf(stdout, msg). If msg contains %, this will crash. Instead do fprintf(stdout, "%s", msg). | + | :• 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. | + | *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 http://stackoverflow.com/questions/13631644/setthreadpriority-and-setpriorityclass | + | :• We had used SetPriorityClass() for this purpose, but apparently this is too extreme, and causes the client to run very slowly; see [http://stackoverflow.com/questions/13631644/setthreadpriority-and-setpriorityclass] |
− | MGR: show zero time intervals as --- rather than 00:00:00. | + | *MGR: show zero time intervals as --- rather than 00:00:00. |
− | MGR: tweaks in task properties. | + | *MGR: tweaks in task properties. |
− | LIB: Prevent the xml_unescape function from injecting control characters into strings. | + | *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." | + | *Revert "lib: Prevent the xml_unescape function from injecting control characters into strings." |
− | Lib: check return value of element_contents() | + | *Lib: check return value of element_contents() |
− | fixes CID 27713 found by Coverity | + | :fixes CID 27713 found by Coverity |
− | Lib: check return value of parse_str() | + | *Lib: check return value of parse_str() |
− | fixes CID 27703 found by Coverity | + | :fixes CID 27703 found by Coverity |
− | Lib: ignore check_return defects | + | *Lib: ignore check_return defects |
− | This is intended because parse_str() won't change physical_name if it fails. | + | :This is intended because parse_str() won't change physical_name if it fails. |
− | fixes CID 27684,27719 found by Coverity | + | :fixes CID 27684,27719 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 27987 found by Coverity | + | :fixes CID 27987 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 28017 found by Coverity | + | :fixes CID 28017 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 27975,27996,28026 found by Coverity | + | :fixes CID 27975,27996,28026 found by Coverity |
− | Lib: initialize fields in constructors | + | *Lib: initialize fields in constructors |
− | fixes CID 27962 found by Coverity | + | :fixes CID 27962 found by Coverity |
− | Lib: check return value of scanf() | + | *Lib: check return value of scanf() |
− | ignore the scanf() calls inside the loops to not loose performance (untested) | + | :ignore the scanf() calls inside the loops to not loose performance (untested) |
− | fixes CID 27691 found by Coverity | + | :fixes CID 27691 found by Coverity |
− | Lib: check return value of fread() in crypt_prog | + | *Lib: check return value of fread() in crypt_prog |
− | fixes CID 27709 found by Coverity | + | :fixes CID 27709 found by Coverity |
− | Lib: check return value of scan_key_hex() in crypt_prog | + | *Lib: check return value of scan_key_hex() in crypt_prog |
− | fixes CID 27714 found by Coverity | + | :fixes CID 27714 found by Coverity |
− | Lib: prevent null dereference after fopen() in crypt_prog | + | *Lib: prevent null dereference after fopen() in crypt_prog |
− | fixes CID 27899 found by Coverity | + | :fixes CID 27899 found by Coverity |
− | Lib: check return values of file operations | + | *Lib: check return values of file operations |
− | errorcodes are introduced in 27594f0b | + | :errorcodes are introduced in 27594f0b |
− | Fixes CID 27701, 27707 found by Coverity | + | :Fixes CID 27701, 27707 found by Coverity |
− | Lib: introduce new error numbers and add missing descriptions | + | *Lib: introduce new error numbers and add missing descriptions |
− | Lib: check return value of fcntl() in boinc_fopen() | + | *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. | + | :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 | + | :fixes CID 27690 found by Coverity |
− | Lib: check return value of select() | + | *Lib: check return value of select() |
− | fixes CID 27700 found by Coverity | + | :fixes CID 27700 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 27953 found by Coverity | + | :fixes CID 27953 found by Coverity |
− | Lib: initialize fields in constructors | + | *Lib: initialize fields in constructors |
− | fixes CID 27960, 28023 found by Coverity | + | :fixes CID 27960, 28023 found by Coverity |
− | Lib: initialize fields in constructors | + | *Lib: initialize fields in constructors |
− | fixes CID 27940,27947,27951 found by Coverity | + | :fixes CID 27940,27947,27951 found by Coverity |
− | Lib: prevent resource leak | + | *Lib: prevent resource leak |
− | If a notice with seqno == -1 is parsed the object was not deleted. | + | :If a notice with seqno == -1 is parsed the object was not deleted. |
− | fixes CID 27845 found by Coverity | + | :fixes CID 27845 found by Coverity |
− | Lib: initialize buffer before usage | + | *Lib: initialize buffer before usage |
− | fixes CID 27956 found by Coverity | + | :fixes CID 27956 found by Coverity |
− | Lib: check return value | + | *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. | + | :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 | + | :fixes CID 34502 found by Coverity |
− | Lib: initialize field in constructor | + | *Lib: initialize field in constructor |
− | fixes CID 27976 found by Coverity | + | :fixes CID 27976 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 27985 found by Coverity | + | :fixes CID 27985 found by Coverity |
− | Lib: initialize field in constructor | + | *Lib: initialize field in constructor |
− | fixes CID 27945 found by Coverity | + | :fixes CID 27945 found by Coverity |
− | Lib: check return value of getsockopt() | + | *Lib: check return value of getsockopt() |
− | fixes CID 27722 found by Coverity | + | :fixes CID 27722 found by Coverity |
− | Lib: check return value of fcntl() | + | *Lib: check return value of fcntl() |
− | fixes CID 27704 found by Coverity | + | :fixes CID 27704 found by Coverity |
− | Lib: check return value of getsockname() | + | *Lib: check return value of getsockname() |
− | fixes CID 27697 found by Coverity | + | :fixes CID 27697 found by Coverity |
− | Lib: initialize field in constructor | + | *Lib: initialize field in constructor |
− | fixes CID 28032 found bv Coverity | + | :fixes CID 28032 found bv Coverity |
− | Lib: prevent buffer overflow | + | *Lib: prevent buffer overflow |
− | fixes CID 27755 found by Coverity | + | :fixes CID 27755 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 28000 found by Coverity | + | :fixes CID 28000 found by Coverity |
− | Lib: prevent dereference of null value | + | *Lib: prevent dereference of null value |
− | fixes CID 34508 found by Coverity | + | :fixes CID 34508 found by Coverity |
− | Lib: prevent resource leak | + | *Lib: prevent resource leak |
− | fixes CID 27906 found by Coverity | + | :fixes CID 27906 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 27971, 28011 found by Coverity | + | :fixes CID 27971, 28011 found by Coverity |
− | Lib: initialize fields in constructor | + | *Lib: initialize fields in constructor |
− | fixes CID 28014 found by Coverity | + | :fixes CID 28014 found by Coverity |
− | MGR: prevent resource leak | + | *MGR: prevent resource leak |
− | fixes CID 38988 found by Coverity | + | :fixes CID 38988 found by Coverity |
− | MGR: make sure strings are null terminated | + | *MGR: make sure strings are null terminated |
− | strncpy() doesn't null-terminate the destination string if the source string is not 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 | + | :fixes CID 38958, 38959, 38960 found by Coverity |
Latest revision as of 16:37, 29 August 2016
- 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