diff options
| author | Mikael Magnusson <mikachu@gmail.com> | 2026-05-23 05:08:50 +0200 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@gmail.com> | 2026-05-25 07:05:10 +0200 |
| commit | 80f30feb7822aa9976b72201d1bf21f52a970796 (patch) | |
| tree | e604fccd4ff67e8228d23174bf8297eebfabeaec | |
| parent | 54594: fix two very similar coverity issues (diff) | |
| download | zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar.gz zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar.bz2 zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar.lz zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar.xz zsh-80f30feb7822aa9976b72201d1bf21f52a970796.tar.zst zsh-80f30feb7822aa9976b72201d1bf21f52a970796.zip | |
54595: overflow check in isreallycom
| -rw-r--r-- | ChangeLog | 2 | ||||
| -rw-r--r-- | Src/exec.c | 10 |
2 files changed, 8 insertions, 4 deletions
@@ -1,5 +1,7 @@ 2026-05-25 Mikael Magnusson <mikachu@gmail.com> + * 54595: Src/exec.c: overflow check in isreallycom + * 54594: Src/exec.c: fix two very similar coverity issues * 54593: Src/Zle/compmatch.c: fix two edge cases in join_strs diff --git a/Src/exec.c b/Src/exec.c index cff688a2a..6c2ae8624 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1006,13 +1006,15 @@ isreallycom(Cmdnam cn) char fullnam[MAXCMDLEN]; if (cn->node.flags & HASHED) - strcpy(fullnam, cn->u.cmd); + if (snprintf(fullnam, sizeof(fullnam), "%s", cn->u.cmd) + >= (int)sizeof(fullnam)) + return 0; else if (!cn->u.name) return 0; else { - strcpy(fullnam, *(cn->u.name)); - strcat(fullnam, "/"); - strcat(fullnam, cn->node.nam); + if (snprintf(fullnam, sizeof(fullnam), "%s/%s", + *(cn->u.name), cn->node.nam) >= (int)sizeof(fullnam)) + return 0; } return iscom(fullnam); } |
