]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Mask *num on entry in deprecated low-level OFB/CFB implementations
authorfrostb1ten <68353531+frostb1ten@users.noreply.github.com>
Mon, 16 Mar 2026 10:07:12 +0000 (05:07 -0500)
committerNorbert Pocs <norbertp@openssl.org>
Wed, 18 Mar 2026 07:11:31 +0000 (08:11 +0100)
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Mar 18 07:11:44 2026
(Merged from https://github.com/openssl/openssl/pull/30447)

crypto/bf/bf_cfb64.c
crypto/bf/bf_ofb64.c
crypto/cast/c_cfb64.c
crypto/cast/c_ofb64.c
crypto/idea/i_cfb64.c
crypto/idea/i_ofb64.c
crypto/rc2/rc2cfb64.c
crypto/rc2/rc2ofb64.c
crypto/rc5/rc5cfb64.c
crypto/rc5/rc5ofb64.c

index e380972dbdc9f31dba25b7aec96725017b6251d4..cec20b91584801dc18c89ec2ba2a7cf7b47ae730 100644 (file)
@@ -27,7 +27,7 @@ void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num, int encrypt)
 {
     register BF_LONG v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     BF_LONG ti[2];
     unsigned char *iv, c, cc;
index 5c9193add17e91c4f6e6242b17ab79f000d105d4..dbd60d18535c7a1089c4e61b9b392acf46d02582 100644 (file)
@@ -26,7 +26,7 @@ void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num)
 {
     register BF_LONG v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned char d[8];
     register char *dp;
index 4170f77a78ebb959df898c77c2f26bac73d03d8e..477762005f70c73093a6144ac5cc0cb583e8462c 100644 (file)
@@ -27,7 +27,7 @@ void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num, int enc)
 {
     register CAST_LONG v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     CAST_LONG ti[2];
     unsigned char *iv, c, cc;
index 431446ab5fb71abec368d4c5c6904014fb502a66..c130f9183fc9e450c27f398a57f8ec44950888fd 100644 (file)
@@ -26,7 +26,7 @@ void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num)
 {
     register CAST_LONG v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned char d[8];
     register char *dp;
index c8ed3853285a6f75b52bdeb98f34ba71e9885c10..724905f2f916b3e2f08f6ddd5d15fa8172021fed 100644 (file)
@@ -28,7 +28,7 @@ void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num, int encrypt)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned long ti[2];
     unsigned char *iv, c, cc;
index afa6a960d4ed9b5c92871f293cad9836d921f14f..ed8601ad4f935bda867d455fd91b12db52414544 100644 (file)
@@ -27,7 +27,7 @@ void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned char d[8];
     register char *dp;
index ccc69fa6bf8daa656c67832287bfa366b6d4fa55..c0e45787f8c13a7bfd7d704e3d788443efd8b6db 100644 (file)
@@ -27,7 +27,7 @@ void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out,
     int *num, int encrypt)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned long ti[2];
     unsigned char *iv, c, cc;
index b659b72a1005e9daca8d98ecdea50c383eafeef5..e771ffc3766897960c7d878e4238038615c43087 100644 (file)
@@ -26,7 +26,7 @@ void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out,
     int *num)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned char d[8];
     register char *dp;
index f2f4b9bdfb3bce808d5bb7e3d5d0e90223099561..7e3357f039cde6216cea552472206fff23a95151 100644 (file)
@@ -27,7 +27,7 @@ void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num, int encrypt)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned long ti[2];
     unsigned char *iv, c, cc;
index 30487521f22f42e8e46f3f7464782905fe04ff7e..e55b519956dbf48ff9c5c74e19db53224e4ff7f7 100644 (file)
@@ -26,7 +26,7 @@ void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out,
     unsigned char *ivec, int *num)
 {
     register unsigned long v0, v1, t;
-    register int n = *num;
+    register int n = *num & 0x07;
     register long l = length;
     unsigned char d[8];
     register char *dp;