about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2023-07-26 19:49:50 -0700
committerBart Schaefer <schaefer@zsh.org>2023-07-26 19:49:50 -0700
commitfb5a6a871c718bbe6b841d1a2b6c5fd2d7859ce8 (patch)
tree8a35800cfa70c842acddf100da83b55f1a3432ce /Src/Zle
parent1ac393169ab0d77e86905acc652943be8d26679d (diff)
downloadzsh-fb5a6a871c718bbe6b841d1a2b6c5fd2d7859ce8.tar.gz
zsh-fb5a6a871c718bbe6b841d1a2b6c5fd2d7859ce8.tar.xz
zsh-fb5a6a871c718bbe6b841d1a2b6c5fd2d7859ce8.zip
51950 (tweak per 51949): correct Thingy refcount in raw_getbyte()
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/zle_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 4a6c02133..1afb1bf58 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -737,7 +737,7 @@ raw_getbyte(long do_keytmout, char *cptr, int full)
 			) {
 			/* Handle the fd. */
 			char *fdbuf;
-			Thingy save_lbindk = lbindk;
+			Thingy save_lbindk = refthingy(lbindk);
 			{
 			    char buf[BDIGBUFSIZE];
 			    convbase(buf, lwatch_fd->fd, 10);
@@ -780,6 +780,7 @@ raw_getbyte(long do_keytmout, char *cptr, int full)
 			     */
 			    errtry = 1;
 			}
+			unrefthingy(lbindk);
 			lbindk = save_lbindk;
 		    }
 		}