From 55adddbc16f65732b57ab8585c47001fced91d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 8 May 2016 23:32:28 +0200 Subject: Imported Upstream version 2.9.9 --- util/idcmi.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'util/idcmi.c') diff --git a/util/idcmi.c b/util/idcmi.c index 2786efb..a21ee2a 100644 --- a/util/idcmi.c +++ b/util/idcmi.c @@ -62,7 +62,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "idcmi.h" static char * progname = "idcmi"; -static char * progver = "2.98"; +static char * progver = "2.99"; extern char fdebug; /*from ipmicmd.c*/ static uchar g_bus = PUBLIC_BUS; static uchar g_sa = BMC_SA; @@ -334,7 +334,7 @@ void dcmi_show_power_read(int parm, uchar *cdata, int sdata) printf(" Max Power over sample duration: %d Watts\n",cdata[5]+(cdata[6]<<8)); printf(" Avg Power over sample duration: %d Watts\n",cdata[7]+(cdata[8]<<8)); printf(" Timestamp: %s\n",ctime(&t)); - printf(" Sampling period: %d ms\n",sample_period); + printf(" Sampling period: %lu ms\n",sample_period); printf(" Power reading state is: %s\n",(state&0x40)? "active":"not active"); break; case 2: /* Mode 2 - Enhanced System Power Statistics */ @@ -369,7 +369,7 @@ void dcmi_show_power_limit(uchar *cdata, int sdata, int rv) else printf("OEM defined\n"); printf(" Power Limit: %d Watts %s\n",cdata[4]+(cdata[5]<<8), pstr); - printf(" Correction Time: %d ms\n", correction_time); + printf(" Correction Time: %lu ms\n", correction_time); printf(" Sampling period: %d sec\n", cdata[12]+(cdata[13]<<8)); } @@ -494,6 +494,7 @@ static int dcmi_get_asset_tag(char *pdata, int sdata, int *dlen) if (rv == 0) rv = cc; if (rv == 0) { /* if here, success */ if (n == 0) sz_all = rdata[1]; + if ((rlen - 2) < sz_chunk) sz_chunk = rlen - 2; if ((n + sz_chunk) > sdata) { if (fdebug) printf("dcmi_get_asset(%d): data truncated from %d to %d\n", @@ -535,6 +536,7 @@ static int dcmi_get_mc_id(char *pdata, int sdata, int *dlen) if (rv == 0) rv = cc; if (rv == 0) { /* if here, success */ if (n == 0) sz_all = rdata[1]; + if ((rlen - 2) < sz_chunk) sz_chunk = rlen - 2; if ((n + sz_chunk) > sdata) { if (fdebug) printf("dcmi_get_mc_id(%d): data truncated from %d to %d\n", -- cgit v1.2.3