I found a bug in crypto/aes/aes_cfb.c that will cause the cipher
encrypting and decrypting incorrectly in aes-128-cfb1.
part of the aes_cfb.c as follow:

void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out,
const unsigned long length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc)
{
unsigned int n;
unsigned char c[1],d[1];

assert(in && out && key && ivec && num);
assert(*num == 0);

memset(out,0,(length+7)/8);
for(n=0 ; n < length ; ++n)
{
c[0]=(in[n/8]&(1 << (7-n%8))) ? 0x80 : 0;
AES_cfbr_encrypt_block(c,d,1,key,ivec,enc);
out[n/8]=(out[n/8]&~(1 << (7-n%8)))|((d[0]&0x80) >> (n%8));
}
}

AES_cfb1_encrypt expect the data buffer counted in bits, however the
length argument is expressed in bytes as passed by upper callee.
The results is large part of data is not encrypted or decrypted, and
filled by zero.

I hope this will be fixed in next release!

Thank you!