u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
        u8 token;
        struct adapter *adapter = precv_frame->u.hdr.adapter;
-       int cnt = 0;
        char msg[64];
 
        token = frame_body[2];
        if (rtw_action_public_decache(precv_frame, token) == _FAIL)
                goto exit;
 
-       cnt += sprintf((msg+cnt), "%s(token:%u)", action_public_str(action), token);
+       scnprintf(msg, sizeof(msg), "%s(token:%u)", action_public_str(action), token);
        rtw_cfg80211_rx_action(adapter, pframe, frame_len, msg);
 
        ret = _SUCCESS;
 
                /*  Idle for a while if we connect to AP a while ago. */
                if (pwrpriv->LpsIdleCount >= 2) { /*   4 Sec */
                        if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) {
-                               sprintf(buf, "WIFI-%s", msg);
+                               scnprintf(buf, sizeof(buf), "WIFI-%s", msg);
                                pwrpriv->bpower_saving = true;
                                rtw_set_ps_mode(padapter, pwrpriv->power_mgnt, padapter->registrypriv.smart_ps, 0, buf);
                        }
 
        if (pwrpriv->bLeisurePs) {
                if (pwrpriv->pwr_mode != PS_MODE_ACTIVE) {
-                       sprintf(buf, "WIFI-%s", msg);
+                       scnprintf(buf, sizeof(buf), "WIFI-%s", msg);
                        rtw_set_ps_mode(padapter, PS_MODE_ACTIVE, 0, 0, buf);
 
                        if (pwrpriv->pwr_mode == PS_MODE_ACTIVE)