Fix off-by-one error :-)
[openssl.git] / crypto / des / ofb_enc.c
index 9ee221ea8f2e9b240a71b5aad205881e97f46011..a8f425a575a13bc2ff1cbd8a1f02da213d479359 100644 (file)
@@ -65,7 +65,7 @@
  * byte.
  */
 void des_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
-            long length, des_key_schedule schedule, des_cblock ivec)
+            long length, des_key_schedule schedule, des_cblock *ivec)
        {
        register DES_LONG d0,d1,vv0,vv1,v0,v1,n=(numbits+7)/8;
        register DES_LONG mask0,mask1;
@@ -92,7 +92,7 @@ void des_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
                mask1=0x00000000L;
                }
 
-       iv=ivec;
+       iv = &(*ivec)[0];
        c2l(iv,v0);
        c2l(iv,v1);
        ti[0]=v0;
@@ -126,7 +126,7 @@ void des_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
                        v1=((v1>>num)|(vv0<<(32-num)))&0xffffffffL;
                        }
                }
-       iv=ivec;
+       iv = &(*ivec)[0];
        l2c(v0,iv);
        l2c(v1,iv);
        v0=v1=d0=d1=ti[0]=ti[1]=vv0=vv1=0;