When dequoting config strings in xlu__cfgl_dequote(), unknown
characters following a '\', and the '\' itself, are discarded.
E.g. a disk configuration string containing
rbd:pool/image:mon_host=192.168.0.100\:6789
would be dequoted as
rbd:pool/image:mon_host=192.168.0.
1006789
Instead of discarding the '\' and unknown character, reject the
string and set error to EINVAL.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
NUMERIC_CHAR(2,2,16,"hex");
} else if (nc>='0' && nc<='7') {
NUMERIC_CHAR(1,3,10,"octal");
+ } else {
+ xlu__cfgl_lexicalerror(ctx,
+ "invalid character after backlash in quoted string");
+ ctx->err= EINVAL;
+ goto x;
}
assert(p <= src+len-1);
} else {