On Tue, Feb 21, 2017 at 03:48:05PM +0100, Anatole Denis wrote: > Currently, when creating an error record (erec), the current location in the > file is duplicated, but not the input_descriptor inside it. Input descriptors > are added and removed by the parser when including files, and memory references > in the error record thus become incorrect when a subsequent file is included. > > This patch copies the input descriptors recursively to ensure each erec has the > correct chain of input descriptors at the time of printing. > > For example: > badinclude.nft: > ``` > include "error.nft" > include "empty.nft" > ``` > a.nft: > ``` > add rule t c obvious syntax error > ``` > b.nft: (empty file) > > Results in the last included file being referenced and quoted for all errors > $ nft -f badinclude.nft > In file included from badinclude.nft:2:1-20: > ./empty.nft:1:34-34: Error: syntax error, unexpected newline > > ^ > > Expected behavior: > $ nft -f badinclude.nft -I. > In file included from badinclude.nft:1:1-20: > ./error.nft:1:34-34: Error: syntax error, unexpected newline > add rule t c obvious syntax error > ^ Applied, thanks Anatole. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html