From 745be8ad8e53f3252146e29e88f9cbe9060572a1 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 24 Jun 2013 17:19:10 +0200 Subject: [PATCH] wpa: fix error reporting for getptk(), use readn() to read ifstats file --- sys/src/cmd/aux/wpa.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/src/cmd/aux/wpa.c b/sys/src/cmd/aux/wpa.c index 1abca3a87..85cd9577c 100644 --- a/sys/src/cmd/aux/wpa.c +++ b/sys/src/cmd/aux/wpa.c @@ -130,7 +130,7 @@ getifstats(char *key, char *val, int nval) snprint(buf, sizeof(buf), "%s/ifstats", devdir); if((fd = open(buf, OREAD)) < 0) return nil; - n = read(fd, buf, sizeof(buf)-1); + n = readn(fd, buf, sizeof(buf)-1); close(fd); if(n <= 0) return nil; @@ -330,8 +330,10 @@ getptk( uchar smac[Eaddrlen], uchar amac[Eaddrlen], goto out; if((ret = auth_rpc(rpc, "read", nil, 0)) != ARok) goto out; - if(rpc->narg != PTKlen) + if(rpc->narg != PTKlen){ + ret = -1; goto out; + } memmove(ptk, rpc->arg, PTKlen); ret = 0; out: @@ -698,9 +700,9 @@ main(int argc, char *argv[]) memmove(anonce, kd->nonce, sizeof(anonce)); genrandom(snonce, sizeof(snonce)); - if(getptk(smac, amac, snonce, anonce, ptk) < 0){ + if(getptk(smac, amac, snonce, anonce, ptk) != 0){ if(debug != 0) - fprint(2, "getptk: %r"); + fprint(2, "getptk: %r\n"); continue; }