logging/vty: fix vty_read_file(): do not write warnings to stdin

Setting vty->fd to 0 is a bad idea, which may cause the process
to write() warnings to its own _stdin_ (yes, it's possible).
For example, when a configuration file contains deprecated
logging commands. Let's use stderr by default.

Change-Id: Icdeaea67a06da3a2f07b252e455629559ecc1829
diff --git a/src/vty/vty.c b/src/vty/vty.c
index babe0ef..3357d5a 100644
--- a/src/vty/vty.c
+++ b/src/vty/vty.c
@@ -1468,11 +1468,15 @@
 	struct vty *vty;
 
 	vty = vty_new();
-	vty->fd = 0;
 	vty->type = VTY_FILE;
 	vty->node = CONFIG_NODE;
 	vty->priv = priv;
 
+	/* By default, write to stderr. Otherwise, during parsing of the logging
+	 * configuration, all invocations to vty_out() would make the process
+	 * write() to its own stdin (fd=0)! */
+	vty->fd = fileno(stderr);
+
 	ret = config_from_file(vty, confp);
 
 	if (ret != CMD_SUCCESS) {