summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-05-31 14:29:19 +0000
committerrubidium <rubidium@openttd.org>2007-05-31 14:29:19 +0000
commitcca48f8e7e0dd1832e4abcac944f700b5288d81c (patch)
treec2328b6be0f2725cb8ef8571ea5f8dad554f72bc
parent598d6d041a2d6e7b3e9ce180e65848bf83f40d5d (diff)
downloadopenttd-cca48f8e7e0dd1832e4abcac944f700b5288d81c.tar.xz
(svn r9998) -Fix (r9990): possible null pointer dereferences on MorphOS.
-rw-r--r--src/fios.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/fios.cpp b/src/fios.cpp
index 3d475676e..cdde6e3cd 100644
--- a/src/fios.cpp
+++ b/src/fios.cpp
@@ -114,11 +114,12 @@ char *FiosBrowseTo(const FiosItem *item)
case FIOS_TYPE_PARENT:
/* Check for possible NULL ptr (not required for UNIXes, but AmigaOS-alikes) */
- if ((s = strrchr(path, PATHSEPCHAR)) != path) {
+ s = strrchr(path, PATHSEPCHAR);
+ if (s != NULL && s != path) {
s[0] = '\0'; // Remove last path separator character, so we can go up one level.
- s = strrchr(path, PATHSEPCHAR);
- if (s != NULL) s[1] = '\0'; // go up a directory
}
+ s = strrchr(path, PATHSEPCHAR);
+ if (s != NULL) s[1] = '\0'; // go up a directory
#if defined(__MORPHOS__) || defined(__AMIGAOS__)
/* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */
else if ((s = strrchr(path, ':')) != NULL) s[1] = '\0';