<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/3861815b6b767d929cac8ed003e881ad4d330ac1">https://github.com/macports/macports-base/commit/3861815b6b767d929cac8ed003e881ad4d330ac1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 3861815b6 programs/cp: Fix pointer cast warning
</span>3861815b6 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 3861815b6b767d929cac8ed003e881ad4d330ac1
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Sun Nov 3 22:06:39 2024 +0100
<span style='display:block; white-space:pre;color:#404040;'> programs/cp: Fix pointer cast warning
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> execve() expects the args to be in writable memory, so copy them using
</span><span style='display:block; white-space:pre;color:#404040;'> strdup(3).
</span>---
src/programs/cp/cp.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/programs/cp/cp.c b/src/programs/cp/cp.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 6869ed101..f322ce09e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/programs/cp/cp.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/programs/cp/cp.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,15 +2,16 @@
</span>
#include <stdio.h>
#include <stdlib.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span> #include <sys/errno.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <unistd.h>
</span>
int main(int argc, char *argv[])
{
<span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *cp_path = "/bin/cp";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char *clone_arg = "-c";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char **new_argv = malloc(sizeof(char *) * (argc+2));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (new_argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *cp_path = strdup("/bin/cp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *clone_arg = strdup("-c");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char **new_argv = malloc(sizeof(char *) * (argc+2));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (cp_path && clone_arg && new_argv) {
</span> new_argv[0] = cp_path;
new_argv[1] = clone_arg;
for (int i = 1; i <= argc; i++) {
</pre><pre style='margin:0'>
</pre>