]> git.openfabrics.org - ~adrianc/mstflint.git/commitdiff
Fixed a buffer override and offline (conf cycles) upgrade.
authorMohammad Sawalha <mohammad@sw006.lab.mtl.com>
Mon, 13 Sep 2010 13:17:40 +0000 (15:17 +0200)
committerOren Kladnitsky <orenk@dev.mellanox.co.il>
Tue, 14 Sep 2010 19:14:18 +0000 (21:14 +0200)
Signed-off-by: Oren Kladnitsky <orenk@dev.mellanox.co.il>
mtcr.h

diff --git a/mtcr.h b/mtcr.h
index 3088f801105d19d77f8894b23f5937d8b8bc65ba..bead33bfe4f8318db6e757e1984d2e22fe819f2a 100644 (file)
--- a/mtcr.h
+++ b/mtcr.h
@@ -738,19 +738,22 @@ access_config:
 #endif
 
 access_config_forced:
-       sprintf(cbuf, "/sys/bus/pci/devices/%4.4x:%2.2x:%2.2x.%1.1x/config",
+
+    // Cleanup the mfile struct from any previous garbage.
+    memset(mf, 0, sizeof(mfile));
+
+    sprintf(cbuf, "/sys/bus/pci/devices/%4.4x:%2.2x:%2.2x.%1.1x/config",
                domain, bus, dev, func);
        if (!mtcr_open_config(mf, cbuf))
                return mf;
 
-       sprintf(pdbuf, "/proc/bus/pci/devices/%4.4x:%2.2x/%2.2x.%1.1x",
+       sprintf(pdbuf, "/proc/bus/pci/%4.4x:%2.2x/%2.2x.%1.1x",
                domain, bus, dev, func);
-
        if (!mtcr_open_config(mf, pdbuf))
                return mf;
 
        if (!domain) {
-               sprintf(pbuf, "/proc/bus/pci/devices/%2.2x/%2.2x.%1.1x",
+               sprintf(pbuf, "/proc/bus/pci/%2.2x/%2.2x.%1.1x",
                        bus, dev, func);
                if (!mtcr_open_config(mf, pdbuf))
                        return mf;