X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Ftools_static.c;h=bbe49ee1a551e3c50d1e4054b320cba3bb706580;hb=ce1c741c01e8387cb095dac5e36a4d8ad91d006d;hp=a69db35e116c1c482224dfea8fc692ee3e468d9e;hpb=fcea3951d44de0cc55d33c5e114487abe79d3406;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/tools_static.c b/src/rmr/common/src/tools_static.c index a69db35..bbe49ee 100644 --- a/src/rmr/common/src/tools_static.c +++ b/src/rmr/common/src/tools_static.c @@ -80,7 +80,7 @@ static inline int zt_buf_fill( char* dest, char const* src, int len ) { char const* sp; int n; // num moved - if( dest == NULL && src == NULL ) { + if( dest == NULL || src == NULL ) { return -1; } @@ -187,7 +187,7 @@ static char* uta_h2ip( char const* hname ) { *(tok++) = 0; } - hent = gethostbyname( dname ); + hent = gethostbyname( dname ); // valgrind will complain that this leaks, but we cannot free it! if( hent == NULL || hent->h_addr_list == NULL ) { //rmr_vlog( RMR_VL_WARN, "h2ip: dns lookup failed for: %s\n", dname ); free( dname ); @@ -334,7 +334,7 @@ static if_addrs_t* mk_ip_list( char* port ) { struct ifaddrs *ele; // pointer into the list char octs[NI_MAXHOST+1]; char wbuf[NI_MAXHOST+128]; - char* fmt; + char* fmt = NULL; // address format (v4 or v6) char* envp; // at the environment var if there char* target_if = NULL; // target interface supplied by ENV_BIND_IF char* tok; @@ -379,7 +379,7 @@ static if_addrs_t* mk_ip_list( char* port ) { } } - if( *octs ) { + if( *octs && fmt != NULL ) { // possible that we didn't recognise the format (v4 or v6), don't try if we didn't if( (tok = strchr( octs, '%' )) != NULL ) { // for unknown reasons some ip6 addrs have %if-name appended; truncate *tok = 0; }