[#104] nemtap: Escape special symbols in filters
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
parent
49d03508ed
commit
7ad0ce3c34
1 changed files with 10 additions and 1 deletions
|
@ -471,7 +471,7 @@ func writeFilterStringTo(w io.StringWriter, f netmap.Filter) error {
|
|||
unspecified := op == 0
|
||||
|
||||
if s = f.GetKey(); s != "" {
|
||||
_, err = w.WriteString(fmt.Sprintf("%s %s %s", s, op, f.GetValue()))
|
||||
_, err = w.WriteString(fmt.Sprintf("%s %s %s", escapeString(s), op, escapeString(f.GetValue())))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -816,3 +816,12 @@ func operationFromString(s string) (op netmap.Operation) {
|
|||
|
||||
return
|
||||
}
|
||||
|
||||
// escapeString returns single quote wrapped string if it contains special
|
||||
// characters '-' and whitespace.
|
||||
func escapeString(s string) string {
|
||||
if strings.ContainsAny(s, " -\t") {
|
||||
return "'" + s + "'"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue