Redundant Condition at airpdcap_rijndael.c:828 |
No properties have been set. edit properties |
Jump to warning location ↓ | warning details... |
| |
rijndaelKeySetupEnc (/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/crypt/airpdcap_rijndael.c)![]() | ||||||
![]() | ||||||
771 | INT rijndaelKeySetupEnc( | |||||
772 | UINT32 rk[/*4*(Nr + 1)*/], | |||||
773 | const UINT8 cipherKey[], | |||||
774 | INT keyBits) | |||||
775 | { | |||||
776 | INT i = 0; | |||||
777 | UINT32 temp; | |||||
778 | ||||||
779 | if (!(keyBits == 128 || keyBits == 192 || keyBits == 256)) | |||||
780 | return -1; | |||||
781 | ||||||
782 | rk[0] = GETU32(cipherKey ); | |||||
783 | rk[1] = GETU32(cipherKey + 4); | |||||
784 | rk[2] = GETU32(cipherKey + 8); | |||||
785 | rk[3] = GETU32(cipherKey + 12); | |||||
786 | if (keyBits == 128) { | |||||
787 | for (;;) { | |||||
788 | temp = rk[3]; | |||||
789 | rk[4] = rk[0] ^ | |||||
790 | (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ | |||||
791 | (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ | |||||
792 | (Te4[(temp ) & 0xff] & 0x0000ff00) ^ | |||||
793 | (Te4[(temp >> 24) ] & 0x000000ff) ^ | |||||
794 | rcon[i]; | |||||
795 | rk[5] = rk[1] ^ rk[4]; | |||||
796 | rk[6] = rk[2] ^ rk[5]; | |||||
797 | rk[7] = rk[3] ^ rk[6]; | |||||
798 | if (++i == 10) { | |||||
799 | return 10; | |||||
800 | } | |||||
801 | rk += 4; | |||||
802 | } | |||||
803 | } | |||||
804 | rk[4] = GETU32(cipherKey + 16); | |||||
805 | rk[5] = GETU32(cipherKey + 20); | |||||
806 | if (keyBits == 192) { | |||||
807 | for (;;) { | |||||
808 | temp = rk[ 5]; | |||||
809 | rk[ 6] = rk[ 0] ^ | |||||
810 | (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ | |||||
811 | (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ | |||||
812 | (Te4[(temp ) & 0xff] & 0x0000ff00) ^ | |||||
813 | (Te4[(temp >> 24) ] & 0x000000ff) ^ | |||||
814 | rcon[i]; | |||||
815 | rk[ 7] = rk[ 1] ^ rk[ 6]; | |||||
816 | rk[ 8] = rk[ 2] ^ rk[ 7]; | |||||
817 | rk[ 9] = rk[ 3] ^ rk[ 8]; | |||||
818 | if (++i == 8) { | |||||
819 | return 12; | |||||
820 | } | |||||
821 | rk[10] = rk[ 4] ^ rk[ 9]; | |||||
822 | rk[11] = rk[ 5] ^ rk[10]; | |||||
823 | rk += 6; | |||||
824 | } | |||||
825 | } | |||||
826 | rk[6] = GETU32(cipherKey + 24); | |||||
827 | rk[7] = GETU32(cipherKey + 28); | |||||
828 | if (keyBits == 256) {
| |||||
829 | for (;;) { | |||||
830 | temp = rk[ 7]; | |||||
831 | rk[ 8] = rk[ 0] ^ | |||||
832 | (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ | |||||
833 | (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ | |||||
834 | (Te4[(temp ) & 0xff] & 0x0000ff00) ^ | |||||
835 | (Te4[(temp >> 24) ] & 0x000000ff) ^ | |||||
836 | rcon[i]; | |||||
837 | rk[ 9] = rk[ 1] ^ rk[ 8]; | |||||
838 | rk[10] = rk[ 2] ^ rk[ 9]; | |||||
839 | rk[11] = rk[ 3] ^ rk[10]; | |||||
840 | if (++i == 7) { | |||||
841 | return 14; | |||||
842 | } | |||||
843 | temp = rk[11]; | |||||
844 | rk[12] = rk[ 4] ^ | |||||
845 | (Te4[(temp >> 24) ] & 0xff000000) ^ | |||||
846 | (Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^ | |||||
847 | (Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^ | |||||
848 | (Te4[(temp ) & 0xff] & 0x000000ff); | |||||
849 | rk[13] = rk[ 5] ^ rk[12]; | |||||
850 | rk[14] = rk[ 6] ^ rk[13]; | |||||
851 | rk[15] = rk[ 7] ^ rk[14]; | |||||
852 | ||||||
853 | rk += 8; | |||||
854 | } | |||||
855 | } | |||||
856 | return 0; | |||||
857 | } | |||||
![]() |