@@ -2820,6 +2820,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
28202820 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
28212821 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
28222822 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2823+ out -> fName = NULL ;
28232824 return WS_FATAL_ERROR ;
28242825 }
28252826
@@ -2889,13 +2890,15 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
28892890 >= (int )sizeof (r )) {
28902891 WLOG (WS_LOG_SFTP , "Path length too large" );
28912892 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2893+ out -> fName = NULL ;
28922894 return WS_FATAL_ERROR ;
28932895 }
28942896 }
28952897 else {
28962898 if (out -> fSz + 1 > (sizeof r )) {
28972899 WLOG (WS_LOG_SFTP , "Path length too large" );
28982900 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2901+ out -> fName = NULL ;
28992902 return WS_FATAL_ERROR ;
29002903 }
29012904 WSTRNCPY (r , out -> fName , sizeof (r ));
@@ -2904,6 +2907,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
29042907 if (wolfSSH_RealPath (ssh -> sftpDefaultPath , r , s , sizeof (s )) < 0 ) {
29052908 WLOG (WS_LOG_SFTP , "Error cleaning path to get attributes" );
29062909 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2910+ out -> fName = NULL ;
29072911 return WS_FATAL_ERROR ;
29082912 }
29092913
@@ -2930,6 +2934,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
29302934 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
29312935 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
29322936 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2937+ out -> fName = NULL ;
29332938 return WS_FATAL_ERROR ;
29342939 }
29352940
@@ -2987,12 +2992,14 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
29872992 >= (int )sizeof (r )) {
29882993 WLOG (WS_LOG_SFTP , "Path length too large" );
29892994 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
2995+ out -> fName = NULL ;
29902996 return WS_FATAL_ERROR ;
29912997 }
29922998
29932999 if (wolfSSH_RealPath (ssh -> sftpDefaultPath , r , s , sizeof (s )) < 0 ) {
29943000 WLOG (WS_LOG_SFTP , "Error cleaning path to get attributes" );
29953001 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3002+ out -> fName = NULL ;
29963003 return WS_FATAL_ERROR ;
29973004 }
29983005
@@ -3007,6 +3014,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
30073014 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
30083015 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
30093016 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3017+ out -> fName = NULL ;
30103018 return WS_FATAL_ERROR ;
30113019 }
30123020
@@ -3084,6 +3092,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
30843092 buf = (char * )WMALLOC (bufSz , out -> heap , DYNTYPE_SFTP );
30853093 if (buf == NULL ) {
30863094 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3095+ out -> fName = NULL ;
30873096 return WS_MEMORY_E ;
30883097 }
30893098
@@ -3105,6 +3114,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
31053114 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
31063115 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
31073116 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3117+ out -> fName = NULL ;
31083118 return WS_FATAL_ERROR ;
31093119 }
31103120
@@ -3217,11 +3227,13 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
32173227 >= (int )sizeof (r )) {
32183228 WLOG (WS_LOG_SFTP , "Path length too large" );
32193229 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3230+ out -> fName = NULL ;
32203231 return WS_FATAL_ERROR ;
32213232 }
32223233
32233234 if (wolfSSH_RealPath (ssh -> sftpDefaultPath , r , s , sizeof (s )) < 0 ) {
32243235 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3236+ out -> fName = NULL ;
32253237 WLOG (WS_LOG_SFTP , "Error cleaning path to get attributes" );
32263238 return WS_FATAL_ERROR ;
32273239 }
@@ -3237,6 +3249,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
32373249 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
32383250 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
32393251 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3252+ out -> fName = NULL ;
32403253 return WS_FATAL_ERROR ;
32413254 }
32423255
@@ -3294,6 +3307,7 @@ static int wolfSSH_SFTPNAME_readdir(WOLFSSH* ssh, WDIR* dir, WS_SFTPNAME* out,
32943307 if (SFTP_CreateLongName (out ) != WS_SUCCESS ) {
32953308 WLOG (WS_LOG_DEBUG , "Error creating long name for %s" , out -> fName );
32963309 WFREE (out -> fName , out -> heap , DYNTYPE_SFTP );
3310+ out -> fName = NULL ;
32973311 return WS_FATAL_ERROR ;
32983312 }
32993313 return WS_SUCCESS ;
0 commit comments