Subject: | set_iv doesn't properly check length of argument. |
If an IV of less than RIJNDAEL_BLOCKSIZE bytes is passed to set_iv(), it will copy uninitialized data into the IV, causing CBC to do some unpredictable things with the data. I am not sure what the proper behavior should be when less data is passed, but that isn't it. :)