@@ -697,9 +697,9 @@ WOLFSSH_API int wolfSSH_SetScpErrorMsg(WOLFSSH* ssh, const char* message)
697697 ret = WS_BAD_ARGUMENT ;
698698
699699 if (ret == WS_SUCCESS ) {
700- valueSz = (word32 )WSTRLEN (message );
700+ valueSz = (word32 )WSTRLEN (message ) + 1 ;
701701 if (valueSz > 0 )
702- value = (char * )WMALLOC (valueSz + SCP_MIN_CONFIRM_SZ + 1 ,
702+ value = (char * )WMALLOC (valueSz + SCP_MIN_CONFIRM_SZ ,
703703 ssh -> ctx -> heap , DYNTYPE_STRING );
704704 if (value == NULL )
705705 ret = WS_MEMORY_E ;
@@ -708,8 +708,8 @@ WOLFSSH_API int wolfSSH_SetScpErrorMsg(WOLFSSH* ssh, const char* message)
708708 if (ret == WS_SUCCESS ) {
709709 /* leave room for cmd at beginning, add \n\0 at end */
710710 WSTRNCPY (value + 1 , message , valueSz );
711- * (value + valueSz + 1 ) = '\n' ;
712- * (value + valueSz + 2 ) = '\0' ;
711+ * (value + valueSz ) = '\n' ;
712+ * (value + valueSz + 1 ) = '\0' ;
713713
714714 if (ssh -> scpConfirmMsg != NULL ) {
715715 WFREE (ssh -> scpConfirmMsg , ssh -> ctx -> heap , DYNTYPE_STRING );
@@ -1071,7 +1071,7 @@ static int ParseBasePathHelper(WOLFSSH* ssh, int cmdSz)
10711071 return WS_BUFFER_E ;
10721072 }
10731073
1074- WSTRNCPY (buf , ssh -> scpBasePath , sz );
1074+ WSTRNCPY (buf , ssh -> scpBasePath , cmdSz );
10751075 buf [sz ] = '\0' ;
10761076 WSTRNCAT (buf , "/.." , sizeof ("/.." ));
10771077 clean_path (buf );
0 commit comments