[Intel-gfx] [PATCH] lib: fix warnings on ignoring return values
Thomas Wood
thomas.wood at intel.com
Wed Oct 15 19:09:41 CEST 2014
On 15 October 2014 12:43, Mika Kuoppala <mika.kuoppala at linux.intel.com> wrote:
> Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
> ---
> lib/igt_core.c | 21 ++++++++++++++++-----
> lib/igt_debugfs.c | 6 +++---
> lib/igt_kms.c | 22 +++++++++++++---------
> lib/intel_os.c | 2 +-
> 4 files changed, 33 insertions(+), 18 deletions(-)
>
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index e3d5fb0..287e345 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -336,13 +336,18 @@ static void low_mem_killer_disable(bool disable)
> /* writing 9999 to this module parameter effectively diables the
> * low memory killer. This is not a real file, so we dont need to
> * seek to the start or truncate it */
> - write(fd, no_lowmem_killer, sizeof(no_lowmem_killer));
> + igt_assert(
> + write(fd, no_lowmem_killer, sizeof(no_lowmem_killer))
> + == sizeof(no_lowmem_killer));
> close(fd);
> } else {
> /* just re-enstate the original settings */
> fd = open(adj_fname, O_WRONLY);
> igt_assert(fd != -1);
> - write(fd, prev_adj_scores, adj_scores_len);
> + igt_assert(
> + write(fd, prev_adj_scores, adj_scores_len)
> + == adj_scores_len);
> +
These warnings appear on Ubuntu because _FORTIFY_SOURCE is set by
default, which is why they don't always appear in other environments.
The warnings can be disabled by adding -U_FORITIFY_SOURCE to the
compiler flags, or if left enabled it might be worth adding wrappers
for common functions, which can then also be added to igt.cocci.
> close(fd);
> }
>
> @@ -775,7 +780,10 @@ void __igt_skip_check(const char *file, const int line,
> char *err_str = NULL;
>
> if (err)
> - asprintf(&err_str, "Last errno: %i, %s\n", err, strerror(err));
> + igt_assert(
> + asprintf(&err_str, "Last errno: %i, %s\n",
> + err, strerror(err))
> + > 0);
>
> if (f) {
> static char *buf;
> @@ -785,7 +793,7 @@ void __igt_skip_check(const char *file, const int line,
> free(buf);
>
> va_start(args, f);
> - vasprintf(&buf, f, args);
> + igt_assert(vasprintf(&buf, f, args) >= 0);
> va_end(args);
>
> igt_skip("Test requirement not met in function %s, file %s:%i:\n"
> @@ -878,7 +886,10 @@ void __igt_fail_assert(int exitcode, const char *file,
> char *err_str = NULL;
>
> if (err)
> - asprintf(&err_str, "Last errno: %i, %s\n", err, strerror(err));
> + igt_assert(
> + asprintf(&err_str, "Last errno: %i, %s\n",
> + err, strerror(err))
> + > 0);
>
> printf("Test assertion failure function %s, file %s:%i:\n"
> "Failed assertion: %s\n"
> diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
> index b30f5e4..f4ff61a 100644
> --- a/lib/igt_debugfs.c
> +++ b/lib/igt_debugfs.c
> @@ -297,7 +297,7 @@ static bool igt_pipe_crc_do_start(igt_pipe_crc_t *pipe_crc)
> sprintf(buf, "pipe %s %s", kmstest_pipe_name(pipe_crc->pipe),
> pipe_crc_source_name(pipe_crc->source));
> errno = 0;
> - write(pipe_crc->ctl_fd, buf, strlen(buf));
> + igt_assert(write(pipe_crc->ctl_fd, buf, strlen(buf)) == strlen(buf));
> if (errno != 0)
> return false;
>
> @@ -309,7 +309,7 @@ static void igt_pipe_crc_pipe_off(int fd, enum pipe pipe)
> char buf[32];
>
> sprintf(buf, "pipe %s none", kmstest_pipe_name(pipe));
> - write(fd, buf, strlen(buf));
> + igt_assert(write(fd, buf, strlen(buf) == strlen(buf)));
> }
>
> static void igt_pipe_crc_reset(void)
> @@ -446,7 +446,7 @@ void igt_pipe_crc_stop(igt_pipe_crc_t *pipe_crc)
> char buf[32];
>
> sprintf(buf, "pipe %s none", kmstest_pipe_name(pipe_crc->pipe));
> - write(pipe_crc->ctl_fd, buf, strlen(buf));
> + igt_assert(write(pipe_crc->ctl_fd, buf, strlen(buf)) == strlen(buf));
> }
>
> static bool pipe_crc_init_from_string(igt_crc_t *crc, const char *line)
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 0547147..49bc6a9 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -323,11 +323,13 @@ static char* get_debugfs_connector_path(int drm_fd, drmModeConnector *connector,
> {
> char *path;
>
> - asprintf(&path, "/sys/kernel/debug/dri/%d/%s-%d/%s",
> - get_card_number(drm_fd),
> - kmstest_connector_type_str(connector->connector_type),
> - connector->connector_type_id,
> - file);
> + igt_assert(
> + asprintf(&path, "/sys/kernel/debug/dri/%d/%s-%d/%s",
> + get_card_number(drm_fd),
> + kmstest_connector_type_str(connector->connector_type),
> + connector->connector_type_id,
> + file)
> + > 0);
>
> return path;
> }
> @@ -851,9 +853,11 @@ static void igt_output_refresh(igt_output_t *output)
> if (!output->name) {
> drmModeConnector *c = output->config.connector;
>
> - asprintf(&output->name, "%s-%d",
> - kmstest_connector_type_str(c->connector_type),
> - c->connector_type_id);
> + igt_assert(
> + asprintf(&output->name, "%s-%d",
> + kmstest_connector_type_str(c->connector_type),
> + c->connector_type_id)
> + > 0);
> }
>
> LOG(display, "%s: Selecting pipe %s\n", output->name,
> @@ -1795,7 +1799,7 @@ void igt_reset_connectors(void)
>
> for (tmp = forced_connectors; *tmp; tmp++) {
> int fd = open(*tmp, O_WRONLY | O_TRUNC);
> - write(fd, "unspecified", 11);
> + igt_assert(write(fd, "unspecified", 11) == 11);
> close(fd);
> }
> }
> diff --git a/lib/intel_os.c b/lib/intel_os.c
> index c8793b9..c05e4b8 100644
> --- a/lib/intel_os.c
> +++ b/lib/intel_os.c
> @@ -257,7 +257,7 @@ intel_purge_vm_caches(void)
> if (fd < 0)
> return;
>
> - write(fd, "3\n", 2);
> + igt_assert(write(fd, "3\n", 2) == 2);
> close(fd);
> }
>
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list