summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amiga/gui.c4
-rw-r--r--riscos/gui.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index 69ae4eb07..11f38d498 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -262,6 +262,10 @@ static nserror amiga_vmkpath(char **str, size_t *size, size_t nelm, va_list ap)
*/
for (elm_idx = 0; elm_idx < nelm; elm_idx++) {
elm[elm_idx] = va_arg(ap, const char *);
+ /* check the argument is not NULL */
+ if (elm[elm_idx] == NULL) {
+ return NSERROR_BAD_PARAMETER;
+ }
elm_len[elm_idx] = strlen(elm[elm_idx]);
fname_len += elm_len[elm_idx];
}
diff --git a/riscos/gui.c b/riscos/gui.c
index 9ee56e685..7ed8ae5c2 100644
--- a/riscos/gui.c
+++ b/riscos/gui.c
@@ -2334,6 +2334,10 @@ static nserror riscos_mkpath(char **str, size_t *size, size_t nelm, va_list ap)
*/
for (elm_idx = 0; elm_idx < nelm; elm_idx++) {
elm[elm_idx] = va_arg(ap, const char *);
+ /* check the argument is not NULL */
+ if (elm[elm_idx] == NULL) {
+ return NSERROR_BAD_PARAMETER;
+ }
elm_len[elm_idx] = strlen(elm[elm_idx]);
fname_len += elm_len[elm_idx];
}