diff options
-rw-r--r-- | amiga/gui.c | 4 | ||||
-rw-r--r-- | riscos/gui.c | 4 |
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]; } |