Hello, On Mon, Aug 10, 2009 at 11:11:41PM +0300, Sergiu Ivanov wrote: > > diff --git a/eth-multiplexer/vdev.c b/eth-multiplexer/vdev.c > index dac9802..6fb88d0 100644 > --- a/eth-multiplexer/vdev.c > +++ b/eth-multiplexer/vdev.c > @@ -135,7 +135,10 @@ add_vdev (char *name, int size, > > vdev->dev_port = ports_get_right (vdev); > ports_port_deref (vdev); > - strncpy (vdev->name, name, IFNAMSIZ); > + if (name) > + strncpy (vdev->name, name, IFNAMSIZ); > + else > + vdev->name[0] = 0; > vdev->if_header_size = ETH_HLEN; > vdev->if_mtu = ETH_MTU; > vdev->if_header_format = HDR_ETHERNET;
Zheng asked whether one could lookup a NULL filename (and the name argument of add_vdev is always derived from that filename). While I cannot give a definite answer to this question (because it wasn't this question that I investigated), I have just found a silly mistake in ordering if statements in the handling of .MASTER node which caused a gratuitous call to add_vdev with name = NULL. Taking into consideration the fact that the comparison of openstat against mode should also stay in its original version, this patch should theoretically be abrogated. Still, I somehow feel bad about copying from a pointer without doing an extra check. Would it be an acceptable idea to assert (name) ? Regards, scolobb