<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9ae306bba3fb1caab30a9cd407f94195deca2d24">https://github.com/macports/macports-ports/commit/9ae306bba3fb1caab30a9cd407f94195deca2d24</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 9ae306bba3f pyxplot: avoid strcpy crash on Ventura
</span>9ae306bba3f is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9ae306bba3fb1caab30a9cd407f94195deca2d24
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sat Jan 7 16:45:19 2023 -0800
<span style='display:block; white-space:pre;color:#404040;'> pyxplot: avoid strcpy crash on Ventura
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> the function ppl_unixGetHomeDir is not returning
</span><span style='display:block; white-space:pre;color:#404040;'> a full path to the users home dir, it is instead
</span><span style='display:block; white-space:pre;color:#404040;'> returning null it appears, on Ventura at least
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> the function should be fixed, but for now checking
</span><span style='display:block; white-space:pre;color:#404040;'> the return value and substituting something reasonable
</span><span style='display:block; white-space:pre;color:#404040;'> seems to avoid the crash
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> closes: https://trac.macports.org/ticket/66098
</span>---
math/pyxplot/Portfile | 2 ++
math/pyxplot/files/patch-pyxplot-no-crash-ventura.diff | 18 ++++++++++++++++++
2 files changed, 20 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/pyxplot/Portfile b/math/pyxplot/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b02b04d5d00..0820c9272ea 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/pyxplot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/pyxplot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,6 +43,8 @@ depends_lib-append port:cfitsio \
</span> patchfiles patch-configure.diff \
patch-Makefile.skel.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-pyxplot-no-crash-ventura.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
reinplace "s|USRDIR=/usr/local|USRDIR=${prefix}|g" \
${worksrcpath}/Makefile.skel
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/pyxplot/files/patch-pyxplot-no-crash-ventura.diff b/math/pyxplot/files/patch-pyxplot-no-crash-ventura.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..31a8724492c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/pyxplot/files/patch-pyxplot-no-crash-ventura.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./src/settings/settingsInit.c.orig 2023-01-07 16:41:23
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./src/settings/settingsInit.c 2023-01-07 16:41:31
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -364,7 +364,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ se->session_default.color_rep= SW_TERMCOL_GRN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ se->session_default.color_wrn= SW_TERMCOL_BRN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ se->session_default.color_err= SW_TERMCOL_RED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- strcpy(se->session_default.homedir, ppl_unixGetHomeDir(&context->errcontext));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char *myhomedir;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ myhomedir = ppl_unixGetHomeDir(&context->errcontext);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (myhomedir == "") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ myhomedir = "~";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ strncpy(se->session_default.homedir,&myhomedir,4096);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //strcpy(se->session_default.homedir, ppl_unixGetHomeDir(&context->errcontext));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Estimate the machine precision of the floating point unit we are using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ppl_makeMachineEpsilon();
</span></pre><pre style='margin:0'>
</pre>