Correct a faulty address assignment, and add a length check (not
authorRichard Levitte <levitte@openssl.org>
Wed, 12 Jan 2005 09:53:20 +0000 (09:53 +0000)
committerRichard Levitte <levitte@openssl.org>
Wed, 12 Jan 2005 09:53:20 +0000 (09:53 +0000)
really needed now, but may be needed in the future, who knows?).

crypto/rand/rand_vms.c

index 29b2d7af0b016169eba49b29402b68c1f7a6e36c..1267a3acae7cb975032e56b572efdaced87b6b7f 100644 (file)
@@ -101,11 +101,12 @@ int RAND_poll(void)
        pitem = item;
 
        /* Setup */
-       while (pitems_data->length)
+       while (pitems_data->length
+               && (total_length + pitems_data->length <= 256))
                {
                pitem->length = pitems_data->length;
                pitem->code = pitems_data->code;
-               pitem->buffer = (long *)data_buffer[total_length];
+               pitem->buffer = (long *)&data_buffer[total_length];
                pitem->retlen = 0;
                total_length += pitems_data->length;
                pitems_data++;