diff -ruN a/drivers/net/wireless/rtl8812au/core/rtw_mp.c b/drivers/net/wireless/rtl8812au/core/rtw_mp.c --- a/drivers/net/wireless/rtl8812au/core/rtw_mp.c 2020-08-20 02:08:41.000000000 -0600 +++ b/drivers/net/wireless/rtl8812au/core/rtw_mp.c 2021-05-12 20:51:59.858880819 -0600 @@ -1871,7 +1871,7 @@ } else { psd_data = rtw_GetPSDData(pAdapter, i); } - sprintf(data, "%s%x ", data, psd_data); + sprintf(data + strlen(data), "%x ", psd_data); i++; } diff -ruN a/drivers/net/wireless/rtl8812au/os_dep/linux/ioctl_linux.c b/drivers/net/wireless/rtl8812au/os_dep/linux/ioctl_linux.c --- a/drivers/net/wireless/rtl8812au/os_dep/linux/ioctl_linux.c 2020-08-20 02:08:41.000000000 -0600 +++ b/drivers/net/wireless/rtl8812au/os_dep/linux/ioctl_linux.c 2021-05-12 20:53:45.926325818 -0600 @@ -9068,19 +9068,19 @@ sprintf(extra, "\n"); for (i = 0; i < EFUSE_MAP_SIZE; i += 16) { // DBG_871X("0x%02x\t", i); - sprintf(extra, "%s0x%02x\t", extra, i); + sprintf(extra + strlen(extra), "0x%02x\t", i); for (j=0; j<8; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, PROMContent[i+j]); + sprintf(extra + strlen(extra), "%02X ", PROMContent[i+j]); } // DBG_871X("\t"); - sprintf(extra, "%s\t", extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, PROMContent[i+j]); + sprintf(extra + strlen(extra), "%02X ", PROMContent[i+j]); } // DBG_871X("\n"); - sprintf(extra,"%s\n",extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0], "realmap") == 0) { @@ -9095,19 +9095,19 @@ sprintf(extra, "\n"); for (i = 0; i < EFUSE_MAP_SIZE; i += 16) { // DBG_871X("0x%02x\t", i); - sprintf(extra, "%s0x%02x\t", extra, i); + sprintf(extra + strlen(extra), "0x%02x\t", i); for (j=0; j<8; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseInitMap[i+j]); } // DBG_871X("\t"); - sprintf(extra, "%s\t", extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseInitMap[i+j]); } // DBG_871X("\n"); - sprintf(extra,"%s\n",extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0], "rmap") == 0) { @@ -9146,7 +9146,7 @@ *extra = 0; for (i=0; iBTEfuseInitMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i+j]); } // DBG_871X("\t"); - sprintf(extra,"%s\t",extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", pEfuseHal->BTEfuseInitMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i+j]); } // DBG_871X("\n"); - sprintf(extra, "%s\n", extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0],"btbmap") == 0) { @@ -9372,19 +9372,19 @@ sprintf(extra, "\n"); for (i=512; i<1024 ; i+=16) { // DBG_871X("0x%03x\t", i); - sprintf(extra, "%s0x%03x\t", extra, i); + sprintf(extra + strlen(extra), "0x%03x\t", i); for (j=0; j<8; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i+j]); } // DBG_871X("\t"); - sprintf(extra,"%s\t",extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", data[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->BTEfuseInitMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i+j]); } // DBG_871X("\n"); - sprintf(extra, "%s\n", extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0],"btrmap") == 0) { @@ -9424,7 +9424,7 @@ // DBG_871X("%s: bt efuse data={", __FUNCTION__); for (i=0; ifakeBTEfuseModifiedMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); } // DBG_871X("\t"); - sprintf(extra, "%s\t", extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); } // DBG_871X("\n"); - sprintf(extra, "%s\n", extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0],"btbfake") == 0) { @@ -9453,19 +9453,19 @@ sprintf(extra, "\n"); for (i=512; i<1024; i+=16) { // DBG_871X("0x%03x\t", i); - sprintf(extra, "%s0x%03x\t", extra, i); + sprintf(extra + strlen(extra), "0x%03x\t", i); for (j=0; j<8; j++) { // DBG_871X("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); } // DBG_871X("\t"); - sprintf(extra, "%s\t", extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); } // DBG_871X("\n"); - sprintf(extra, "%s\n", extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); } else if (strcmp(tmp[0],"wlrfkmap")== 0) { @@ -9473,19 +9473,19 @@ sprintf(extra, "\n"); for (i=0; ifakeEfuseModifiedMap[i+j]); - sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseModifiedMap[i+j]); } // DBG_871X("\t"); - sprintf(extra, "%s\t", extra); + sprintf(extra + strlen(extra), "\t"); for (; j<16; j++) { // DBG_871X("%02X ", pEfuseHal->fakeEfuseModifiedMap[i+j]); - sprintf(extra, "%s %02X", extra, pEfuseHal->fakeEfuseModifiedMap[i+j]); + sprintf(extra + strlen(extra), " %02X", pEfuseHal->fakeEfuseModifiedMap[i+j]); } // DBG_871X("\n"); - sprintf(extra, "%s\n", extra); + sprintf(extra + strlen(extra), "\n"); } // DBG_871X("\n"); @@ -9511,7 +9511,7 @@ *extra = 0; for (i=0; ifakeEfuseModifiedMap[addr+i]); - sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeEfuseModifiedMap[addr+i]); + sprintf(extra + strlen(extra), "0x%02X ", pEfuseHal->fakeEfuseModifiedMap[addr+i]); } } else if (strcmp(tmp[0],"btrfkrmap")== 0) { if ((tmp[1]==NULL) || (tmp[2]==NULL)) { @@ -9535,7 +9535,7 @@ *extra = 0; for (i=0; ifakeBTEfuseModifiedMap[addr+i]); - sprintf(extra, "%s0x%02X ", extra, pEfuseHal->fakeBTEfuseModifiedMap[addr+i]); + sprintf(extra + strlen(extra), "0x%02X ", pEfuseHal->fakeBTEfuseModifiedMap[addr+i]); } } else { sprintf(extra, "Command not found!"); @@ -10378,7 +10378,7 @@ pnext++; if ( *pnext != '\0' ) { strtout = simple_strtoul (pnext , &ptmp, 16); - sprintf( extra, "%s %d" ,extra ,strtout ); + sprintf(extra + strlen(extra), " %d" ,strtout ); } else { break; } @@ -10412,7 +10412,7 @@ pnext++; if ( *pnext != '\0' ) { strtout = simple_strtoul (pnext , &ptmp, 16); - sprintf( extra, "%s %d" ,extra ,strtout ); + sprintf(extra + strlen(extra), " %d" ,strtout ); } else { break; } @@ -10525,7 +10525,7 @@ pnext++; if ( *pnext != '\0' ) { strtou = simple_strtoul (pnext , &ptmp, 16); - sprintf( extra, "%s %d" ,extra ,strtou ); + sprintf(extra + strlen(extra), " %d" ,strtou ); } else { break; } @@ -11985,14 +11985,14 @@ goto exit; #ifdef CONFIG_RTL8723A - sprintf(extra, "%s %d ", extra, (pMptCtx->mptOutBuf[i]& 0x3f)); + sprintf(extra + strlen(extra), " %d ", (pMptCtx->mptOutBuf[i]& 0x3f)); #else - sprintf(extra, "%s %d ", extra, (pMptCtx->mptOutBuf[i]& 0x1f)); + sprintf(extra + strlen(extra), " %d ", (pMptCtx->mptOutBuf[i]& 0x1f)); #endif } } else { for (i=4; imptOutLen; i++) { - sprintf(extra, "%s 0x%x ", extra, pMptCtx->mptOutBuf[i]); + sprintf(extra + strlen(extra), " 0x%x ", pMptCtx->mptOutBuf[i]); } }