From 177c2f8bfa5152ae75b8d322e0aebb3e3543a52c Mon Sep 17 00:00:00 2001 From: root Date: Fri, 18 Aug 2006 23:03:31 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 3 +++ src/Makefile.in | 2 +- src/main.C | 4 ++-- src/rxvtc.C | 1 + src/rxvtd.C | 4 ++-- src/rxvttoolkit.C | 2 +- src/xpm.C | 6 +++--- 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Changes b/Changes index 54734e1c..b2be96af 100644 --- a/Changes +++ b/Changes @@ -25,6 +25,9 @@ TODO: rxvtd failing to enter cwd of rxvtc leads to crash due to free(this), Gent TODO: fix crash because strwidth returning -1 in selection-popup in LC_ALL=C - give proper diagnostic when RXVT_SOCKET is too long instead of corrupting the stack (patch by exg). + - urxvtd no longer crashes when the client sends an inaccessible + working directory (reported by Roland Baer). + - fixed many minor issues reported by Roland Baer. 7.9 Mon Aug 7 18:16:07 CEST 2006 - fix the crashing bug people encountered with 7.8 + urxvtd + perl diff --git a/src/Makefile.in b/src/Makefile.in index 2c3e2ba1..6c05a18a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -137,7 +137,7 @@ perlxsi.c: Makefile $(PERL) -MExtUtils::Embed -e xsinit -- -std urxvt rxvtperl.C: rxvtperl.xs typemap - $(PERL) @PERLPRIVLIBEXP@/ExtUtils/xsubpp -C++ -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap typemap -prototypes rxvtperl.xs >$@ + $(PERL) @PERLPRIVLIBEXP@/ExtUtils/xsubpp -csuffix .C -C++ -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap typemap -prototypes rxvtperl.xs >$@ rxvtperl.o: rxvtperl.C perlxsi.c $(COMPILE) @PERLFLAGS@ -DLIBDIR="\"$(libdir)/urxvt\"" -c $< diff --git a/src/main.C b/src/main.C index 0d63afd4..68141d03 100644 --- a/src/main.C +++ b/src/main.C @@ -272,9 +272,9 @@ rxvt_term::~rxvt_term () clear (); } - delete pix_colors_focused; + delete [] pix_colors_focused; #if OFF_FOCUS_FADING - delete pix_colors_unfocused; + delete [] pix_colors_unfocused; #endif displays.put (display); diff --git a/src/rxvtc.C b/src/rxvtc.C index f424f313..435d67f0 100644 --- a/src/rxvtc.C +++ b/src/rxvtc.C @@ -82,6 +82,7 @@ main (int argc, const char *const *argv) sigemptyset (&ss); sigaddset (&ss, SIGHUP); + sigaddset (&ss, SIGPIPE); sigprocmask (SIG_BLOCK, &ss, 0); } diff --git a/src/rxvtd.C b/src/rxvtd.C index 4ce61961..138a67b1 100644 --- a/src/rxvtd.C +++ b/src/rxvtd.C @@ -145,10 +145,10 @@ void server::err (const char *format, ...) vsnprintf (err, 1024, format, ap); va_end (ap); - send ("MSG"), send (err); + log_msg (err); } - send ("END"); send (0); + send ("END"), send (0); close (fd); delete this; } diff --git a/src/rxvttoolkit.C b/src/rxvttoolkit.C index a4b05104..967556aa 100644 --- a/src/rxvttoolkit.C +++ b/src/rxvttoolkit.C @@ -811,7 +811,7 @@ rxvt_color::set (rxvt_screen *screen, const rgba &color) got = alloc (screen, rgba (best->red, best->green, best->blue)); - delete colors; + delete [] colors; } #endif diff --git a/src/xpm.C b/src/xpm.C index cc228ece..4efbfb20 100644 --- a/src/xpm.C +++ b/src/xpm.C @@ -1,4 +1,4 @@ -/*--------------------------------*-C-*---------------------------------* +/*----------------------------------------------------------------------* * File: xpm.C *----------------------------------------------------------------------* * @@ -58,7 +58,7 @@ rxvt_term::scale_pixmap (const char *geom) unsigned int w = 0, h = 0; unsigned int n; char *p; - bgPixmap_t *bgpixmap = & (bgPixmap); + bgPixmap_t *bgpixmap = &bgPixmap; #define MAXLEN_GEOM sizeof("[10000x10000+10000+10000]") @@ -80,7 +80,7 @@ rxvt_term::scale_pixmap (const char *geom) p = strchr (geom, '\0'); n = (p - geom); - if (n <= MAXLEN_GEOM) + if (n < MAXLEN_GEOM) { strncpy (str, geom, n); str[n] = '\0'; -- 2.34.1