diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 300e9b12..f45d809b 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -3187,10 +3187,13 @@ _dbus_get_install_root(char *prefix, int len) //folder's name happens to end with the *bytes* //"\\bin"... (I.e. the second byte of some Han character and then //the Latin "bin", but that is not likely I think... - if (lastSlash - prefix > 3 && strncmp(lastSlash - 4, "\\bin", 4) == 0) + if (lastSlash - prefix >= 4 && strncmp(lastSlash - 4, "\\bin", 4) == 0) lastSlash[-3] = 0; - else if (lastSlash - prefix > 3 && (strncmp(lastSlash - 10, "\\bin\\Debug", 10) == 0 || strncmp(lastSlash - 10, "\\bin\\Release", 10) == 0)) + else if (lastSlash - prefix >= 10 && strncmp(lastSlash - 10, "\\bin\\Debug", 10) == 0) lastSlash[-9] = 0; + else if (lastSlash - prefix >= 12 && strncmp(lastSlash - 12, "\\bin\\Release", 12) == 0) + lastSlash[-11] = 0; + return TRUE; }