summaryrefslogtreecommitdiff
path: root/coverity.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-01 10:17:22 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-01 10:17:22 +0000
commitbd1b9654a597b2214071c1188ad683e708721f4b (patch)
treefcc22946609eb505eadb3fb5cfcea61369a50d2c /coverity.patch
parent374ae3091442fd5cd7442a65ca2bffeada2fb3bc (diff)
automatic import of aideopeneuler24.03_LTSopeneuler23.09
Diffstat (limited to 'coverity.patch')
-rw-r--r--coverity.patch642
1 files changed, 642 insertions, 0 deletions
diff --git a/coverity.patch b/coverity.patch
new file mode 100644
index 0000000..9b981be
--- /dev/null
+++ b/coverity.patch
@@ -0,0 +1,642 @@
+diff -up ./include/be.h.coverity ./include/be.h
+--- ./include/be.h.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./include/be.h 2018-10-10 19:27:18.680632681 +0200
+@@ -22,6 +22,6 @@
+ #define _BE_H_INCLUDED
+ #include "db_config.h"
+
+-FILE* be_init(int inout,url_t* u,int iszipped);
++void* be_init(int inout,url_t* u,int iszipped);
+
+ #endif /* _BE_H_INCLUDED */
+diff -up ./include/db_config.h.coverity ./include/db_config.h
+--- ./include/db_config.h.coverity 2018-10-10 19:27:18.672632611 +0200
++++ ./include/db_config.h 2018-10-10 19:27:18.681632689 +0200
+@@ -376,7 +376,7 @@ typedef struct db_config {
+ #endif
+
+ url_t* initial_report_url;
+- FILE* initial_report_fd;
++ void* initial_report_fd;
+
+ /* report_url is a list of url_t*s */
+ list* report_url;
+diff -up ./src/aide.c.coverity ./src/aide.c
+--- ./src/aide.c.coverity 2018-10-10 19:27:18.678632663 +0200
++++ ./src/aide.c 2018-10-10 19:27:18.681632689 +0200
+@@ -278,7 +278,7 @@ static void setdefaults_before_config()
+ error(0,_("Couldn't get hostname"));
+ free(s);
+ } else {
+- s=(char*)realloc((void*)s,strlen(s)+1);
++ // s=(char*)realloc((void*)s,strlen(s)+1);
+ do_define("HOSTNAME",s);
+ }
+
+@@ -506,8 +506,6 @@ static void setdefaults_after_config()
+ int main(int argc,char**argv)
+ {
+ int errorno=0;
+- byte* dig=NULL;
+- char* digstr=NULL;
+
+ #ifdef USE_LOCALE
+ setlocale(LC_ALL,"");
+@@ -544,6 +542,10 @@ int main(int argc,char**argv)
+ }
+
+ errorno=commandconf('C',conf->config_file);
++ if (errorno==RETFAIL){
++ error(0,_("Configuration error\n"));
++ exit(INVALID_CONFIGURELINE_ERROR);
++ }
+
+ errorno=commandconf('D',"");
+ if (errorno==RETFAIL){
+@@ -594,6 +596,9 @@ int main(int argc,char**argv)
+ }
+ }
+ #ifdef WITH_MHASH
++ byte* dig=NULL;
++ char* digstr=NULL;
++
+ if(conf->config_check&&FORCECONFIGMD){
+ error(0,"Can't give config checksum when compiled with --enable-forced_configmd\n");
+ exit(INVALID_ARGUMENT_ERROR);
+diff -up ./src/base64.c.coverity ./src/base64.c
+--- ./src/base64.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/base64.c 2018-10-10 19:27:18.681632689 +0200
+@@ -209,6 +209,7 @@ byte* decode_base64(char* src,size_t ssi
+ case FAIL:
+ error(3, "decode_base64: Illegal character: %c\n", *inb);
+ error(230, "decode_base64: Illegal line:\n%s\n", src);
++ free(outbuf);
+ return NULL;
+ break;
+ case SKIP:
+@@ -260,7 +261,7 @@ size_t length_base64(char* src,size_t ss
+ int l;
+ int left;
+ size_t pos;
+- unsigned long triple;
++ //unsigned long triple;
+
+ error(235, "decode base64\n");
+ /* Exit on empty input */
+@@ -273,7 +274,7 @@ size_t length_base64(char* src,size_t ss
+ inb = src;
+
+ l = 0;
+- triple = 0;
++ //triple = 0;
+ pos=0;
+ left = ssize;
+ /*
+@@ -293,7 +294,7 @@ size_t length_base64(char* src,size_t ss
+ case SKIP:
+ break;
+ default:
+- triple = triple<<6 | (0x3f & i);
++ //triple = triple<<6 | (0x3f & i);
+ l++;
+ break;
+ }
+@@ -302,10 +303,10 @@ size_t length_base64(char* src,size_t ss
+ switch(l)
+ {
+ case 2:
+- triple = triple>>4;
++ //triple = triple>>4;
+ break;
+ case 3:
+- triple = triple>>2;
++ //triple = triple>>2;
+ break;
+ default:
+ break;
+@@ -314,7 +315,7 @@ size_t length_base64(char* src,size_t ss
+ {
+ pos++;
+ }
+- triple = 0;
++ //triple = 0;
+ l = 0;
+ }
+ inb++;
+diff -up ./src/be.c.coverity ./src/be.c
+--- ./src/be.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/be.c 2018-10-10 19:27:18.681632689 +0200
+@@ -117,9 +117,9 @@ static char* get_first_value(char** in){
+
+ #endif
+
+-FILE* be_init(int inout,url_t* u,int iszipped)
++void* be_init(int inout,url_t* u,int iszipped)
+ {
+- FILE* fh=NULL;
++ void* fh=NULL;
+ long a=0;
+ char* err=NULL;
+ int fd;
+diff -up ./src/commandconf.c.coverity ./src/commandconf.c
+--- ./src/commandconf.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/commandconf.c 2018-10-10 19:27:18.682632698 +0200
+@@ -106,7 +106,7 @@ int commandconf(const char mode,const ch
+ rv=0;
+ } else {
+
+- rv=access(config,R_OK);
++ if (config != NULL) rv=access(config,R_OK);
+ if(rv==-1){
+ error(0,_("Cannot access config file: %s: %s\n"),config,strerror(errno));
+ }
+@@ -166,14 +166,11 @@ int commandconf(const char mode,const ch
+ int conf_input_wrapper(char* buf, int max_size, FILE* in)
+ {
+ int retval=0;
+- int c=0;
+- char* tmp=NULL;
+- void* key=NULL;
+- int keylen=0;
+
+ /* FIXME Add support for gzipped config. :) */
+ #ifdef WITH_MHASH
+ /* Read a character at a time until we are doing md */
++ int c=0;
+ if(conf->do_configmd){
+ retval=fread(buf,1,max_size,in);
+ }else {
+@@ -185,6 +182,9 @@ int conf_input_wrapper(char* buf, int ma
+ #endif
+
+ #ifdef WITH_MHASH
++ char* tmp=NULL;
++ void* key=NULL;
++ int keylen=0;
+ if(conf->do_configmd||conf->config_check){
+ if(((conf->do_configmd==1)&&conf->config_check)||!conf->confmd){
+ if(conf->do_configmd==1){
+@@ -276,6 +276,9 @@ int db_input_wrapper(char* buf, int max_
+ #endif
+ break;
+ }
++ default: {
++ return 0;
++ }
+ }
+
+ #ifdef WITH_CURL
+@@ -651,7 +654,6 @@ int handle_endif(int doit,int allow_else
+ case 0 : {
+ conferror("@@endif or @@else expected");
+ return -1;
+- count=0;
+ }
+
+ default : {
+@@ -816,6 +818,7 @@ void do_dbdef(int dbtype,char* val)
+ if(u==NULL||u->type==url_unknown||u->type==url_stdout
+ ||u->type==url_stderr) {
+ error(0,_("Unsupported input URL-type:%s\n"),val);
++ free(u);
+ }
+ else {
+ *conf_db_url=u;
+@@ -825,6 +828,7 @@ void do_dbdef(int dbtype,char* val)
+ case DB_WRITE: {
+ if(u==NULL||u->type==url_unknown||u->type==url_stdin){
+ error(0,_("Unsupported output URL-type:%s\n"),val);
++ free(u);
+ }
+ else{
+ conf->db_out_url=u;
+@@ -848,6 +852,7 @@ void do_dbindef(char* val)
+ if(u==NULL||u->type==url_unknown||u->type==url_stdout
+ ||u->type==url_stderr) {
+ error(0,_("Unsupported input URL-type:%s\n"),val);
++ free(u);
+ }
+ else {
+ conf->db_in_url=u;
+@@ -869,6 +874,7 @@ void do_dboutdef(char* val)
+ * both input and output urls */
+ if(u==NULL||u->type==url_unknown||u->type==url_stdin){
+ error(0,_("Unsupported output URL-type:%s\n"),val);
++ free(u);
+ }
+ else{
+ conf->db_out_url=u;
+@@ -894,7 +900,8 @@ void do_repurldef(char* val)
+ } else {
+ error_init(u,0);
+ }
+-
++
++ free(u);
+ }
+
+ void do_verbdef(char* val)
+@@ -984,7 +991,7 @@ void do_report_ignore_e2fsattrs(char* va
+ break;
+ }
+ }
+- *val++;
++ val++;
+ }
+ }
+ #endif
+diff -up ./src/compare_db.c.coverity ./src/compare_db.c
+--- ./src/compare_db.c.coverity 2018-10-10 19:27:18.673632619 +0200
++++ ./src/compare_db.c 2018-10-10 19:27:18.682632698 +0200
+@@ -312,7 +312,7 @@ static int acl2array(acl_type* acl, char
+ if (conf->syslog_format) {
+ *values = malloc(2 * sizeof(char*));
+
+- char *A, *D = "<NONE>";
++ char *A= "<NONE>", *D = "<NONE>";
+
+ if (acl->acl_a) { A = acl->acl_a; }
+ if (acl->acl_d) { D = acl->acl_d; }
+diff -up ./src/conf_lex.l.coverity ./src/conf_lex.l
+--- ./src/conf_lex.l.coverity 2018-10-10 19:27:18.673632619 +0200
++++ ./src/conf_lex.l 2018-10-10 19:27:18.682632698 +0200
+@@ -133,7 +133,7 @@ int var_in_conflval=0;
+ <EXPR>[\ \t]*\n {
+ conf_lineno++;
+ return (TNEWLINE);
+- BEGIN 0;
++// BEGIN 0;
+ }
+
+ <EXPR>\+ {
+diff -up ./src/db.c.coverity ./src/db.c
+--- ./src/db.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/db.c 2018-10-10 19:27:18.683632707 +0200
+@@ -27,6 +27,7 @@
+ #include "db_file.h"
+ #include "db_disk.h"
+ #include "md.h"
++#include "fopen.h"
+
+ #ifdef WITH_PSQL
+ #include "db_sql.h"
+@@ -269,6 +270,9 @@ db_line* db_readline(int db){
+ db_order=&(conf->db_new_order);
+ break;
+ }
++ default: {
++ return NULL;
++ }
+ }
+
+ switch (db_url->type) {
+@@ -368,7 +372,7 @@ db_line* db_char2line(char** ss,int db){
+
+ int i;
+ db_line* line=(db_line*)malloc(sizeof(db_line)*1);
+- int* db_osize=0;
++ int* db_osize=NULL;
+ DB_FIELD** db_order=NULL;
+
+ switch (db) {
+@@ -382,6 +386,10 @@ db_line* db_char2line(char** ss,int db){
+ db_order=&(conf->db_new_order);
+ break;
+ }
++ default: {
++ free(line);
++ return NULL;
++ }
+ }
+
+
+@@ -601,7 +609,9 @@ db_line* db_char2line(char** ss,int db){
+ size_t vsz = 0;
+
+ tval = strtok(NULL, ",");
+- line->xattrs->ents[num].key = db_readchar(strdup(tval));
++ char * tmp = strdup(tval);
++ line->xattrs->ents[num].key = db_readchar(tmp);
++ free(tmp);
+ tval = strtok(NULL, ",");
+ val = base64tobyte(tval, strlen(tval), &vsz);
+ line->xattrs->ents[num].val = val;
+@@ -648,6 +658,8 @@ db_line* db_char2line(char** ss,int db){
+
+ default : {
+ error(0,_("Not implemented in db_char2line %i \n"),(*db_order)[i]);
++ free_db_line(line);
++ free(line);
+ return NULL;
+ }
+
+@@ -826,7 +838,7 @@ void db_close() {
+ case url_ftp:
+ {
+ if (conf->db_out!=NULL) {
+- url_fclose(conf->db_out);
++ url_fclose((URL_FILE*)conf->db_out);
+ }
+ break;
+ }
+diff -up ./src/db_disk.c.coverity ./src/db_disk.c
+--- ./src/db_disk.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/db_disk.c 2018-10-10 19:28:00.108995089 +0200
+@@ -79,9 +79,15 @@ static DIR *open_dir(char* path) {
+
+ static void next_in_dir (void)
+ {
++
+ #ifdef HAVE_READDIR_R
+- if (dirh != NULL)
++ if (dirh != NULL) {
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ rdres = AIDE_READDIR_R_FUNC (dirh, entp, resp);
++#pragma GCC diagnostic pop
++ }
++
+ #else
+ #ifdef HAVE_READDIR
+ if (dirh != NULL) {
+diff -up ./src/db_file.c.coverity ./src/db_file.c
+--- ./src/db_file.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/db_file.c 2018-10-10 19:27:18.683632707 +0200
+@@ -171,7 +171,7 @@ int dofprintf( const char* s,...)
+ int db_file_read_spec(int db){
+
+ int i=0;
+- int* db_osize=0;
++ int* db_osize=NULL;
+ DB_FIELD** db_order=NULL;
+
+ switch (db) {
+@@ -187,6 +187,9 @@ int db_file_read_spec(int db){
+ db_lineno=&db_new_lineno;
+ break;
+ }
++ default: {
++ return RETFAIL;
++ }
+ }
+
+ *db_order=(DB_FIELD*) malloc(1*sizeof(DB_FIELD));
+@@ -198,13 +201,10 @@ int db_file_read_spec(int db){
+ int l;
+
+
+- /* Yes... we do not check if realloc returns nonnull */
+-
+- *db_order=(DB_FIELD*)
+- realloc((void*)*db_order,
++ void * tmp = realloc((void*)*db_order,
+ ((*db_osize)+1)*sizeof(DB_FIELD));
+-
+- if(*db_order==NULL){
++ if (tmp != NULL) *db_order=(DB_FIELD*) tmp;
++ else {
+ return RETFAIL;
+ }
+
+@@ -291,8 +291,8 @@ char** db_readline_file(int db){
+ int* domd=NULL;
+ #ifdef WITH_MHASH
+ MHASH* md=NULL;
+-#endif
+ char** oldmdstr=NULL;
++#endif
+ int* db_osize=0;
+ DB_FIELD** db_order=NULL;
+ FILE** db_filep=NULL;
+@@ -302,9 +302,9 @@ char** db_readline_file(int db){
+ case DB_OLD: {
+ #ifdef WITH_MHASH
+ md=&(conf->dboldmd);
++ oldmdstr=&(conf->old_dboldmdstr);
+ #endif
+ domd=&(conf->do_dboldmd);
+- oldmdstr=&(conf->old_dboldmdstr);
+
+ db_osize=&(conf->db_in_size);
+ db_order=&(conf->db_in_order);
+@@ -316,9 +316,9 @@ char** db_readline_file(int db){
+ case DB_NEW: {
+ #ifdef WITH_MHASH
+ md=&(conf->dbnewmd);
++ oldmdstr=&(conf->old_dbnewmdstr);
+ #endif
+ domd=&(conf->do_dbnewmd);
+- oldmdstr=&(conf->old_dbnewmdstr);
+
+ db_osize=&(conf->db_new_size);
+ db_order=&(conf->db_new_order);
+@@ -328,7 +328,9 @@ char** db_readline_file(int db){
+ break;
+ }
+ }
+-
++
++ if (db_osize == NULL) return NULL;
++
+ if (*db_osize==0) {
+ db_buff(db,*db_filep);
+
+@@ -737,8 +739,6 @@ int db_writespec_file(db_config* dbconf)
+ int i=0;
+ int j=0;
+ int retval=1;
+- void*key=NULL;
+- int keylen=0;
+ struct tm* st;
+ time_t tim=time(&tim);
+ st=localtime(&tim);
+@@ -750,6 +750,8 @@ int db_writespec_file(db_config* dbconf)
+
+ #ifdef WITH_MHASH
+ /* From hereon everything must MD'd before write to db */
++ void*key=NULL;
++ int keylen=0;
+ if((key=get_db_key())!=NULL){
+ keylen=get_db_key_len();
+ dbconf->do_dbnewmd=1;
+diff -up ./src/do_md.c.coverity ./src/do_md.c
+--- ./src/do_md.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/do_md.c 2018-10-10 19:27:18.683632707 +0200
+@@ -202,7 +202,6 @@ void calc_md(struct AIDE_STAT_TYPE* old_
+ and we don't read from a pipe :)
+ */
+ struct AIDE_STAT_TYPE fs;
+- int sres=0;
+ int stat_diff,filedes;
+ #ifdef WITH_PRELINK
+ pid_t pid;
+@@ -237,7 +236,7 @@ void calc_md(struct AIDE_STAT_TYPE* old_
+ return;
+ }
+
+- sres=AIDE_FSTAT_FUNC(filedes,&fs);
++ AIDE_FSTAT_FUNC(filedes,&fs);
+ if(!(line->attr&DB_RDEV))
+ fs.st_rdev=0;
+
+@@ -331,7 +330,7 @@ void calc_md(struct AIDE_STAT_TYPE* old_
+ }
+ #endif
+ #endif /* not HAVE_MMAP */
+- buf=malloc(READ_BLOCK_SIZE);
++// buf=malloc(READ_BLOCK_SIZE);
+ #if READ_BLOCK_SIZE>SSIZE_MAX
+ #error "READ_BLOCK_SIZE" is too large. Max value is SSIZE_MAX, and current is READ_BLOCK_SIZE
+ #endif
+diff -up ./src/gen_list.c.coverity ./src/gen_list.c
+--- ./src/gen_list.c.coverity 2016-07-25 22:56:55.000000000 +0200
++++ ./src/gen_list.c 2018-10-10 19:27:18.684632716 +0200
+@@ -843,15 +843,15 @@ static void add_file_to_tree(seltree* tr
+ DB_ATTR_TYPE localignorelist=0;
+ DB_ATTR_TYPE ignored_added_attrs, ignored_removed_attrs, ignored_changed_attrs;
+
++ if(file==NULL){
++ error(0, "add_file_to_tree was called with NULL db_line\n");
++ }
++
+ node=get_seltree_node(tree,file->filename);
+
+ if(!node){
+ node=new_seltree_node(tree,file->filename,0,NULL);
+ }
+-
+- if(file==NULL){
+- error(0, "add_file_to_tree was called with NULL db_line\n");
+- }
+
+ /* add note to this node which db has modified it */
+ node->checked|=db;
+diff -up ./src/md.c.coverity ./src/md.c
+--- ./src/md.c.coverity 2018-10-10 19:27:18.679632672 +0200
++++ ./src/md.c 2018-10-10 19:27:18.684632716 +0200
+@@ -36,8 +36,8 @@
+ */
+
+ DB_ATTR_TYPE hash_gcrypt2attr(int i) {
+- DB_ATTR_TYPE r=0;
+ #ifdef WITH_GCRYPT
++ DB_ATTR_TYPE r=0;
+ switch (i) {
+ case GCRY_MD_MD5: {
+ r=DB_MD5;
+@@ -74,13 +74,15 @@ DB_ATTR_TYPE hash_gcrypt2attr(int i) {
+ default:
+ break;
+ }
+-#endif
+ return r;
++#else /* !WITH_GCRYPT */
++ return 0;
++#endif
+ }
+
+ const char * hash_gcrypt2str(int i) {
+- char * r = "?";
+ #ifdef WITH_GCRYPT
++ char * r = "?";
+ switch (i) {
+ case GCRY_MD_MD5: {
+ r = "MD5";
+@@ -117,13 +119,17 @@ const char * hash_gcrypt2str(int i) {
+ default:
+ break;
+ }
+-#endif
+ return r;
++#else /* !WITH_GCRYPT */
++ return "?";
++#endif
+ }
+
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wunused-parameter"
+ DB_ATTR_TYPE hash_mhash2attr(int i) {
+- DB_ATTR_TYPE r=0;
+ #ifdef WITH_MHASH
++ DB_ATTR_TYPE r=0;
+ switch (i) {
+ case MHASH_CRC32: {
+ r=DB_CRC32;
+@@ -198,10 +204,15 @@ DB_ATTR_TYPE hash_mhash2attr(int i) {
+ default:
+ break;
+ }
+-#endif
++
+ return r;
++#else /*!WITH_MHASH */
++ return 0;
++#endif
+ }
+
++#pragma GCC diagnostic pop
++
+ /*
+ Initialise md_container according it's todo_attr field
+ */
+@@ -317,7 +328,6 @@ int init_md(struct md_container* md) {
+ */
+
+ int update_md(struct md_container* md,void* data,ssize_t size) {
+- int i;
+
+ error(255,"update_md called\n");
+
+@@ -328,6 +338,7 @@ int update_md(struct md_container* md,vo
+ #endif
+
+ #ifdef WITH_MHASH
++ int i;
+
+ for(i=0;i<=HASH_MHASH_COUNT;i++) {
+ if (md->mhash_mdh[i]!=MHASH_FAILED) {
+@@ -348,7 +359,6 @@ int update_md(struct md_container* md,vo
+ */
+
+ int close_md(struct md_container* md) {
+- int i;
+ #ifdef _PARAMETER_CHECK_
+ if (md==NULL) {
+ return RETFAIL;
+@@ -356,6 +366,7 @@ int close_md(struct md_container* md) {
+ #endif
+ error(255,"close_md called \n");
+ #ifdef WITH_MHASH
++ int i;
+ for(i=0;i<=HASH_MHASH_COUNT;i++) {
+ if (md->mhash_mdh[i]!=MHASH_FAILED) {
+ mhash (md->mhash_mdh[i], NULL, 0);
+diff -up ./src/util.c.coverity ./src/util.c
+--- ./src/util.c.coverity 2018-10-10 19:27:18.670632593 +0200
++++ ./src/util.c 2018-10-10 19:27:18.684632716 +0200
+@@ -105,13 +105,15 @@ url_t* parse_url(char* val)
+ for(i=0;r[0]!='/'&&r[0]!='\0';r++,i++);
+ if(r[0]=='\0'){
+ error(0,"Invalid file-URL,no path after hostname: file:%s\n",t);
++ free(hostname);
+ return NULL;
+ }
+ u->value=strdup(r);
+ r[0]='\0';
+ if(gethostname(hostname,MAXHOSTNAMELEN)==-1){
+- strncpy(hostname,"localhost", 10);
++ strncpy(hostname,"localhost", 10);
+ }
++
+ if( (strcmp(t,"localhost")==0)||(strcmp(t,hostname)==0)){
+ free(hostname);
+ break;
+@@ -120,7 +122,7 @@ url_t* parse_url(char* val)
+ free(hostname);
+ return NULL;
+ }
+- free(hostname);
++
+ break;
+ }
+ u->value=strdup(r);