X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fsi%2Fsrc%2Fsi95%2Fsigetname.c;h=fee7199fdd67444e8c2c51ba5144d9253f1b68f1;hb=9c2f0c74adb03a21646742702813b6ba4a4ae288;hp=04494ebfa929bbdd9838c81a3ab4d4abe6aae422;hpb=ec88d3c0563eeb6ae5f73427edb0b3c4d7acf299;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/si/src/si95/sigetname.c b/src/rmr/si/src/si95/sigetname.c index 04494eb..fee7199 100644 --- a/src/rmr/si/src/si95/sigetname.c +++ b/src/rmr/si/src/si95/sigetname.c @@ -21,21 +21,30 @@ /* ------------------------------------------------------------------------ Mnemonic: sigetname - Abstract: returns the name of the socket for a given sid - Parms: sid - the socket id as returned by open/listen/connect - Date: 21 July 2003 - Author: E. Scott Daniels + Abstract: returns the name of the socket for a given sid. On failure returns + a nil pointer. + Parms: sid - the socket ID; a fd as returned by open/listen/connect + Date: 21 July 2003 + Author: E. Scott Daniels + + Mods: 30 Oct 2020 - address issues raised by code scan 1654181 ------------------------------------------------------------------------ */ #include "sisetup.h" -extern char *sigetname( int sid ) { - struct sockaddr oaddr; // pointer to address in TCP binary format - char *buf; +extern char* SIgetname( int sid ) { + struct sockaddr oaddr; // pointer to address in TCP binary format + char *buf = NULL; int len; len = sizeof( oaddr ); - getsockname( sid, &oaddr, &len ); - SIaddress( &oaddr, (void **) &buf, AC_TODOT ); + if( getsockname( sid, &oaddr, &len ) < 0 ) { + return NULL; + } + + if( SIaddress( &oaddr, (void **) &buf, AC_TODOT ) <= 0 ) { + return NULL; + } + return buf; }