Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Fix segmentation fault in strhandle()
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
c805117
..
f9aba90
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-2268,8
+2268,7
@@
strhandle(void) {
term.esc &= ~(ESC_STR_END|ESC_STR);
strparse();
term.esc &= ~(ESC_STR_END|ESC_STR);
strparse();
- narg = strescseq.narg;
- par = atoi(strescseq.args[0]);
+ par = (narg = strescseq.narg) ? atoi(strescseq.args[0]) : 0;
switch(strescseq.type) {
case ']': /* OSC -- Operating System Command */
switch(strescseq.type) {
case ']': /* OSC -- Operating System Command */
@@
-2906,7
+2905,7
@@
xloadcols(void) {
Color *cp;
if(loaded) {
Color *cp;
if(loaded) {
- for (cp = dc.col; cp <
dc.col + LEN(dc.col)
; ++cp)
+ for (cp = dc.col; cp <
&dc.col[LEN(dc.col)]
; ++cp)
XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
}
XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
}
@@
-4090,7
+4089,7
@@
run:
if(argc > 0) {
/* eat all remaining arguments */
opt_cmd = argv;
if(argc > 0) {
/* eat all remaining arguments */
opt_cmd = argv;
- if(!opt_title)
+ if(!opt_title
&& !opt_line
)
opt_title = basename(xstrdup(argv[0]));
}
setlocale(LC_CTYPE, "");
opt_title = basename(xstrdup(argv[0]));
}
setlocale(LC_CTYPE, "");