From 0276e52b047b30f7a57e4721698a84073fd9406f Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Sun, 1 Jul 2007 13:35:27 +0300 Subject: [PATCH] Fix error checking: store returned value in a signed integer, so that < 0/<= 0 checks work correctly. Signed-off-by: Michael S. Tsirkin --- mtcr.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mtcr.h b/mtcr.h index 76341ae..828861f 100644 --- a/mtcr.h +++ b/mtcr.h @@ -505,7 +505,7 @@ enum mtcr_access_method mtcr_parse_name(const char* name, int *force, unsigned my_bus; unsigned my_dev; unsigned my_func; - int scnt; + int scnt, r; char config[] = "/config"; char resource0[] = "/resource0"; char procbuspci[] = "/proc/bus/pci/"; @@ -534,19 +534,19 @@ enum mtcr_access_method mtcr_parse_name(const char* name, int *force, char pbuf[4048]; char *base; - tmp = snprintf(mbuf, sizeof mbuf, "/sys/class/infiniband/%s/device", name); - if (tmp <= 0 || tmp >= (int)sizeof mbuf) { + r = snprintf(mbuf, sizeof mbuf, "/sys/class/infiniband/%s/device", name); + if (r <= 0 || r >= (int)sizeof mbuf) { fprintf(stderr,"Unable to print device name %s\n", name); goto parse_error; } - tmp = readlink(mbuf, pbuf, sizeof pbuf - 1); - if (tmp < 0) { + r = readlink(mbuf, pbuf, sizeof pbuf - 1); + if (r < 0) { perror("read link"); fprintf(stderr,"Unable to read link %s\n", mbuf); return MTCR_ACCESS_ERROR; } - pbuf[tmp] = '\0'; + pbuf[r] = '\0'; base = basename(pbuf); if (!base) -- 2.46.0