Fixes to compile on CentOS 8 - thanks to Torsten for providing this patch

This commit is contained in:
Deon George 2021-10-26 16:44:20 +11:00
parent 7685f64dc1
commit 564b39b884
4 changed files with 16 additions and 12 deletions

View File

@ -18,16 +18,17 @@ char *units(double size) {
int div = 0;
double rem = 0;
int base = 1024;
int s_size = 128;
char *s;
s = "\0";
s = malloc(128);
s = malloc(s_size);
if (s==NULL) {
perror("Arg, out of memory?");
exit(255);
}
memset(s,0x00,(sizeof s));
memset(s,0x00,s_size);
while (size >= base && div < (int)(sizeof SIZES / sizeof *SIZES)-1) {
if (verbose > 2)

View File

@ -72,14 +72,16 @@ dsmDate dsmStrToDate(char *s) {
char *dsmDateToStr(dsmDate date) {
char *s;
s = malloc(19);
int s_size = 32;
s = malloc(s_size);
if (s==NULL) {
perror("Arg, out of memory?");
exit(255);
}
memset(s,0x00,(sizeof s));
memset(s,0x00,s_size);
sprintf(s,"%04i-%02i-%02i %02i:%02i:%02i",
date.year,
@ -145,7 +147,7 @@ char *dsmObjnameToStr(dsmObjName objName) {
exit(255);
}
memset(s,0x00,(sizeof s));
memset(s,0x00,sizeof(dsmObjName));
sprintf(s,"%s%s%s",objName.fs,objName.hl,objName.ll);

View File

@ -133,10 +133,11 @@ double tsm_sendfile(dsUint32_t dsmHandle, char *fsname, char *filename, long lon
#ifdef USE_DIGEST
char digest_str[EVP_MAX_MD_SIZE*2];
EVP_MD_CTX mdctx;
EVP_MD_CTX *mdctx;
const EVP_MD *md=NULL;
unsigned char md_value[EVP_MAX_MD_SIZE];
unsigned int md_len, i;
mdctx = NULL;
if (digest) {
OpenSSL_add_all_digests();
@ -229,8 +230,8 @@ double tsm_sendfile(dsUint32_t dsmHandle, char *fsname, char *filename, long lon
#ifdef USE_DIGEST
if (digest) {
EVP_MD_CTX_init(&mdctx);
EVP_DigestInit_ex(&mdctx, md, NULL);
mdctx = EVP_MD_CTX_new();
EVP_DigestInit_ex(mdctx, md, NULL);
}
#endif
@ -250,7 +251,7 @@ double tsm_sendfile(dsUint32_t dsmHandle, char *fsname, char *filename, long lon
#ifdef USE_DIGEST
if (digest)
EVP_DigestUpdate(&mdctx, buffer, nbytes);
EVP_DigestUpdate(mdctx, buffer, nbytes);
#endif
dataBlk.bufferLen = nbytes;
@ -289,8 +290,8 @@ double tsm_sendfile(dsUint32_t dsmHandle, char *fsname, char *filename, long lon
#ifdef USE_DIGEST
if (digest) {
EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
EVP_MD_CTX_cleanup(&mdctx);
EVP_DigestFinal_ex(mdctx, md_value, &md_len);
EVP_MD_CTX_free(mdctx);
for(i=0; i<md_len; i++)
sprintf(digest_str+(i*2), "%02x", md_value[i]);

View File

@ -23,7 +23,7 @@ char *tsm_printerr(dsUint32_t dsmHandle, dsInt16_t rc) {
char rcStr[DSM_MAX_RC_MSG_LENGTH];
char *s;
s = malloc(sizeof(rcStr));
s = malloc(DSM_MAX_RC_MSG_LENGTH+5);
if (rc == DSM_RC_WILL_ABORT) {
dsUint16_t reason;