Skip to content

Commit

Permalink
Fix possible runtime error
Browse files Browse the repository at this point in the history
  • Loading branch information
corny committed Jul 20, 2017
1 parent a05056b commit 0445d85
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
12 changes: 6 additions & 6 deletions parse.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,14 +192,14 @@ func parseHostedFTPLine(line string) (*Entry, error) {
}

scanner := newScanner(line)
fields := scanner.NextFields(9)
if fields[1] == "0" { // Set link count to 1 and attempt to parse as Unix.
fields[1] = "1"
newLine := strings.Join(fields, " ")
return parseLsListLine(newLine)
fields := scanner.NextFields(2)

if len(fields) < 2 || fields[1] != "0" {
return nil, errUnsupportedListLine
}
return nil, errUnsupportedListLine

// Set link count to 1 and attempt to parse as Unix.
return parseLsListLine(fields[0] + " 1 " + scanner.Remaining())
}

// parseListLine parses the various non-standard format returned by the LIST
Expand Down
1 change: 1 addition & 0 deletions parse_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ var listTestsFail = []unsupportedLine{
{"modify=20150806235817;invalid;UNIX.owner=0; movies", "Unsupported LIST line"},
{"Zrwxrwxrwx 1 root other 7 Jan 25 00:17 bin -> usr/bin", "Unknown entry type"},
{"total 1", "Unsupported LIST line"},
{"000000000x ", "Unsupported LIST line"}, // see https://github.com/jlaffaye/ftp/issues/97
{"", "Unsupported LIST line"},
}

Expand Down

0 comments on commit 0445d85

Please sign in to comment.