]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Avoid preprocessor directives in macro arguments
authorIain Hibbert <plunky@rya-online.net>
Sun, 27 Feb 2011 16:59:26 +0000 (18:59 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 27 Feb 2011 16:59:26 +0000 (18:59 +0200)
os_snprintf() can be a preprocessor macro and according to
C99 (6.10.3 clause 11) the results of having preprocessor directives
inside the macro arguments is undefined.

src/ap/wpa_auth.c

index 13e8ec43895a67d6d825b5c2a199499232dbafcb..7ad60a23d999082a00e9be672d4b55a19c46a4bb 100644 (file)
@@ -2479,19 +2479,21 @@ int wpa_get_mib(struct wpa_authenticator *wpa_auth, char *buf, size_t buflen)
 {
        int len = 0, ret;
        char pmkid_txt[PMKID_LEN * 2 + 1];
+#ifdef CONFIG_RSN_PREAUTH
+       const int preauth = 1;
+#else /* CONFIG_RSN_PREAUTH */
+       const int preauth = 0;
+#endif /* CONFIG_RSN_PREAUTH */
 
        if (wpa_auth == NULL)
                return len;
 
        ret = os_snprintf(buf + len, buflen - len,
                          "dot11RSNAOptionImplemented=TRUE\n"
-#ifdef CONFIG_RSN_PREAUTH
-                         "dot11RSNAPreauthenticationImplemented=TRUE\n"
-#else /* CONFIG_RSN_PREAUTH */
-                         "dot11RSNAPreauthenticationImplemented=FALSE\n"
-#endif /* CONFIG_RSN_PREAUTH */
+                         "dot11RSNAPreauthenticationImplemented=%s\n"
                          "dot11RSNAEnabled=%s\n"
                          "dot11RSNAPreauthenticationEnabled=%s\n",
+                         wpa_bool_txt(preauth),
                          wpa_bool_txt(wpa_auth->conf.wpa & WPA_PROTO_RSN),
                          wpa_bool_txt(wpa_auth->conf.rsn_preauth));
        if (ret < 0 || (size_t) ret >= buflen - len)