#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include "apps.h"
#include <openssl/bio.h>
#include <openssl/err.h>
int ret = 1, inl, nopad = 0;
unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH];
unsigned char *buff = NULL, salt[PKCS5_SALT_LEN];
- unsigned long n;
+ long n;
#ifdef ZLIB
int do_zlib = 0;
BIO *bzl = NULL;
k = i >= 1 && p[i] == 'k';
if (k)
p[i] = '\0';
- if (!opt_ulong(opt_arg(), &n))
+ if (!opt_long(opt_arg(), &n)
+ || n < 0 || (k && n >= LONG_MAX / 1024))
goto opthelp;
if (k)
n *= 1024;
printf("%02X", salt[i]);
printf("\n");
}
- if (cipher->key_len > 0) {
+ if (EVP_CIPHER_key_length(cipher) > 0) {
printf("key=");
- for (i = 0; i < cipher->key_len; i++)
+ for (i = 0; i < EVP_CIPHER_key_length(cipher); i++)
printf("%02X", key[i]);
printf("\n");
}
- if (cipher->iv_len > 0) {
+ if (EVP_CIPHER_iv_length(cipher) > 0) {
printf("iv =");
- for (i = 0; i < cipher->iv_len; i++)
+ for (i = 0; i < EVP_CIPHER_iv_length(cipher); i++)
printf("%02X", iv[i]);
printf("\n");
}