]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't use %s for non-nil terminated strings
authorAlan T. DeKok <aland@freeradius.org>
Thu, 14 Mar 2013 01:00:11 +0000 (21:00 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 14 Mar 2013 01:42:00 +0000 (21:42 -0400)
src/main/radwho.c

index 6bacdb301e6fc01b82f27ac012ea46ae2b0b865b..fbb5aba753969431468f39d9f6bcd5355cf51526 100644 (file)
@@ -356,6 +356,8 @@ int main(int argc, char **argv)
         *      Read the file, printing out active entries.
         */
        while (fread(&rt, sizeof(rt), 1, fp) == 1) {
+               char login[sizeof(rt.login) + 1];
+
                if (rt.type != P_LOGIN) continue; /* hide logout sessions */
                
                /*
@@ -469,11 +471,10 @@ int main(int argc, char **argv)
                /*
                 *      Show the fill name, or not.
                 */
+               memcpy(login, rt.login, sizeof(rt.login));
+               login[sizeof(rt.login)] = '\0';
+
                if (showname) {
-                       char login[sizeof(rt.login) + 1];
-                       memcpy(login, rt.login, sizeof(rt.login));
-                       login[sizeof(rt.login)] = '\0';
-                       
                        printf((rawoutput == 0? rfmt1: rfmt1r),
                               login,
                               showcid ? rt.caller_id :
@@ -485,7 +486,7 @@ int main(int argc, char **argv)
                               hostname(othername, sizeof(othername), rt.framed_address), eol);
                } else {
                        printf((rawoutput == 0? rfmt2: rfmt2r),
-                              rt.login,
+                              login,
                               portind, portno,
                               proto(rt.proto, rt.porttype),
                               dotime(rt.time),