c***@gmx.de
2013-01-25 13:01:09 UTC
the latest changes in libdraw:
Display*
initdisplay(char *dev, char *win, void(*error)(Display*, char*))
{
- char buf[128], info[NINFO+1], *t, isnew;
+ char buf[NINFO+1], info[NINFO+1], *t, isnew;
this is wrong. the real bug is here:
if((n=read(ctlfd, info, sizeof info)) < 12){
Error2:
close(ctlfd);
goto Error1;
}
if(n==NINFO+1)
n = NINFO;
--> buf[n] = '\0';
isnew = 0;
that should be:
info[n] = '\0';
--
cinap
Display*
initdisplay(char *dev, char *win, void(*error)(Display*, char*))
{
- char buf[128], info[NINFO+1], *t, isnew;
+ char buf[NINFO+1], info[NINFO+1], *t, isnew;
this is wrong. the real bug is here:
if((n=read(ctlfd, info, sizeof info)) < 12){
Error2:
close(ctlfd);
goto Error1;
}
if(n==NINFO+1)
n = NINFO;
--> buf[n] = '\0';
isnew = 0;
that should be:
info[n] = '\0';
--
cinap