summaryrefslogtreecommitdiffstats
path: root/package/iwinfo
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-05 17:52:46 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-05 17:52:46 +0000
commit9ca54da8398f055d2aa611cfbc29c06198748b34 (patch)
treec080f78a1a0fe2ff14ce5c4f429baca9ea41ad40 /package/iwinfo
parentf4c4e108b208aea1dd48abaef347496ca31e71cf (diff)
[package] iwinfo: fix integer overflow in assoclist rate reporting (#11073)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30825 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/iwinfo')
-rw-r--r--package/iwinfo/Makefile2
-rw-r--r--package/iwinfo/src/include/iwinfo.h2
-rw-r--r--package/iwinfo/src/iwinfo_cli.c3
3 files changed, 4 insertions, 3 deletions
diff --git a/package/iwinfo/Makefile b/package/iwinfo/Makefile
index f74fe2f1f..db8a3da25 100644
--- a/package/iwinfo/Makefile
+++ b/package/iwinfo/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libiwinfo
-PKG_RELEASE:=31
+PKG_RELEASE:=32
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_CONFIG_DEPENDS := \
diff --git a/package/iwinfo/src/include/iwinfo.h b/package/iwinfo/src/include/iwinfo.h
index 9e78bab70..868c10b35 100644
--- a/package/iwinfo/src/include/iwinfo.h
+++ b/package/iwinfo/src/include/iwinfo.h
@@ -61,7 +61,7 @@ extern const char *IWINFO_OPMODE_NAMES[];
struct iwinfo_rate_entry {
- uint16_t rate;
+ uint32_t rate;
int8_t mcs;
uint8_t is_40mhz:1;
uint8_t is_short_gi:1;
diff --git a/package/iwinfo/src/iwinfo_cli.c b/package/iwinfo/src/iwinfo_cli.c
index 0fdb21ec6..7ec5aef95 100644
--- a/package/iwinfo/src/iwinfo_cli.c
+++ b/package/iwinfo/src/iwinfo_cli.c
@@ -134,7 +134,8 @@ static char * format_rate(int rate)
if (rate <= 0)
snprintf(buf, sizeof(buf), "unknown");
else
- snprintf(buf, sizeof(buf), "%.1f MBit/s", ((float)rate / 1000.0));
+ snprintf(buf, sizeof(buf), "%d.%d MBit/s",
+ rate / 1000, (rate % 1000) / 100);
return buf;
}