Add some error checking on the parsed data fields
parent
d51443bee1
commit
010e5fb5b0
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
package machine
|
package machine
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
@ -199,6 +200,9 @@ func parseMemFree(out string) (int64, error) {
|
||||||
l := len(outlines)
|
l := len(outlines)
|
||||||
for _, line := range outlines[1 : l-1] {
|
for _, line := range outlines[1 : l-1] {
|
||||||
parsedLine := strings.Fields(line)
|
parsedLine := strings.Fields(line)
|
||||||
|
if len(parsedLine) < 7 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
|
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
|
@ -208,7 +212,7 @@ func parseMemFree(out string) (int64, error) {
|
||||||
return t, nil
|
return t, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0, nil
|
return 0, errors.New("no matching data found")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseDiskFree parses the output of the `df -m` command
|
// ParseDiskFree parses the output of the `df -m` command
|
||||||
|
@ -219,6 +223,9 @@ func parseDiskFree(out string) (int64, error) {
|
||||||
l := len(outlines)
|
l := len(outlines)
|
||||||
for _, line := range outlines[1 : l-1] {
|
for _, line := range outlines[1 : l-1] {
|
||||||
parsedLine := strings.Fields(line)
|
parsedLine := strings.Fields(line)
|
||||||
|
if len(parsedLine) < 6 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
|
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
|
@ -228,5 +235,5 @@ func parseDiskFree(out string) (int64, error) {
|
||||||
return t, nil
|
return t, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0, nil
|
return 0, errors.New("no matching data found")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue