X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Fwrapper.c;h=63f5d8aa49edcaf6ae91f6b254fdaf7c0d706249;hb=15fb8a6128ee4f8b4d7096f13422aebe4afd2fec;hp=55cfe9e15b1f191f29592b7a83b834d4bbe42b7f;hpb=3c832c14cdda950ebd2efea2f53e4ed99de81521;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/wrapper.c b/src/rmr/common/src/wrapper.c index 55cfe9e..63f5d8a 100644 --- a/src/rmr/common/src/wrapper.c +++ b/src/rmr/common/src/wrapper.c @@ -32,7 +32,7 @@ #include "../include/rmr.h" -#define ADD_SEP 1 +#define ADD_SEP 1 #define NO_SEP 0 /* @@ -74,7 +74,7 @@ static int bang_on( char* target, char* src, int max ) { if( src && target ) { len = strlen( src ); if( (rc = len <= max ? len : 0 ) > 0 ) { // if it fits, add it. - strcat( target, src ); + strncat( target, src, len ); } } @@ -84,8 +84,16 @@ static int bang_on( char* target, char* src, int max ) { return rc; } +/* + Frees the string that was allocated and returned using rmr_get_consts() +*/ +extern void rmr_free_consts( char* p) { + free(p); +} + /* Returns a set of json with the constants which are set in the header. + Caller must free the returned string using rmr_free_consts() */ extern char* rmr_get_consts( ) { int remain; // bytes remaining in wbuf @@ -155,6 +163,6 @@ extern char* rmr_get_consts( ) { phrase = build_ival( "RMR_ERR_INITFAILED", RMR_ERR_INITFAILED, NO_SEP ); remain -= bang_on( wbuf, phrase, remain ); - strcat( wbuf, " }" ); + strncat( wbuf, " }", remain ); return strdup( wbuf ); // chop unused space and return }