diff --git a/harbour/source/rtl/descend.c b/harbour/source/rtl/descend.c index 8331d665c4..dc0d808a90 100644 --- a/harbour/source/rtl/descend.c +++ b/harbour/source/rtl/descend.c @@ -78,8 +78,9 @@ HB_FUNC( DESCEND ) if( ulLen > 0 ) { - char * szBuffer = ( char * ) hb_xgrab( ulLen ); + char * szBuffer = ( char * ) hb_xgrab( ulLen + 1 ); hb_strDescend( szBuffer, hb_itemGetCPtr( pItem ), ulLen ); + szBuffer[ ulLen ] = '\0'; hb_retclen_buffer( szBuffer, ulLen ); } else @@ -92,4 +93,4 @@ HB_FUNC( DESCEND ) else if( HB_IS_LOGICAL( pItem ) ) hb_retl( ! hb_itemGetL( pItem ) ); } -} +} \ No newline at end of file