[TIPC]: Validate entire interface name when locating bearer to enable.
authorAllan Stephens <allan.stephens@windriver.com>
Mon, 26 Jun 2006 06:43:21 +0000 (23:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Jun 2006 06:43:21 +0000 (23:43 -0700)
This fix prevents a bearer from being enabled using the wrong interface.
For example, specifying "eth:eth14" might enable "eth:eth1" by mistake.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
net/tipc/eth_media.c

index 3ecb1006a42d52edf1753f4248b3fb72d585760d..682da4a280416311ead3d8b9c45a4c42c67cda47 100644 (file)
@@ -2,7 +2,7 @@
  * net/tipc/eth_media.c: Ethernet bearer support for TIPC
  * 
  * Copyright (c) 2001-2006, Ericsson AB
- * Copyright (c) 2005, Wind River Systems
+ * Copyright (c) 2005-2006, Wind River Systems
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -127,8 +127,7 @@ static int enable_bearer(struct tipc_bearer *tb_ptr)
 
        /* Find device with specified name */
 
-       while (dev && dev->name &&
-              (memcmp(dev->name, driver_name, strlen(dev->name)))) {
+       while (dev && dev->name && strncmp(dev->name, driver_name, IFNAMSIZ)) { 
                dev = dev->next;
        }
        if (!dev)