From 0024d7472768635915ee6cc511fc258c121b9b9c Mon Sep 17 00:00:00 2001 From: dscho Date: Sat, 31 Aug 2002 14:09:39 +0000 Subject: [PATCH] compiler warnings and format vulnerabilities fixed --- Makefile | 4 +++- cvs_update_anonymously | 1 + httpd.c | 2 +- mac.c | 4 ++++ pnmshow24.c | 2 +- vncev.c | 13 +++++++------ x11vnc.c | 9 +++++++-- zippy.c | 3 +-- 8 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 cvs_update_anonymously diff --git a/Makefile b/Makefile index 0cf8696..0c5590a 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ OSX_LIBS = -framework ApplicationServices -framework Carbon -framework IOKit # for x11vnc #XLIBS = -L/usr/X11R6/lib -lXtst -lXext -lX11 -XLIBS = -L/usr/lib32 -lXtst -lXext -lX11 +XLIBS = -L/usr/X11R6/lib -L/usr/lib32 -lXtst -lXext -lX11 SOURCES=main.c rfbserver.c sraRegion.c auth.c sockets.c \ stats.c corre.c hextile.c rre.c translate.c cutpaste.c \ @@ -42,6 +42,8 @@ INSTALLHEADER=rfb.h rfbproto.h sraRegion.h keysym.h all: example pnmshow storepasswd +all_examples: example pnmshow x11vnc x11vnc_static sratest blooptest pnmshow24 fontsel vncev zippy storepasswd + install_OSX: OSXvnc-server cp OSXvnc-server storepasswd ../OSXvnc/build/OSXvnc.app/Contents/MacOS diff --git a/cvs_update_anonymously b/cvs_update_anonymously new file mode 100644 index 0000000..f94b616 --- /dev/null +++ b/cvs_update_anonymously @@ -0,0 +1 @@ +cvs -z3 -d :pserver:anonymous@cvs.libvncserver.sf.net:/cvsroot/libvncserver update diff --git a/httpd.c b/httpd.c index 2b06da2..0821c5b 100644 --- a/httpd.c +++ b/httpd.c @@ -211,7 +211,7 @@ httpProcessInput(rfbScreenInfoPtr rfbScreen) unsigned int maxFnameLen; FILE* fd; Bool performSubstitutions = FALSE; - char str[256]; + char str[256+32]; #ifndef WIN32 struct passwd *user = getpwuid(getuid()); #endif diff --git a/mac.c b/mac.c index 210deef..eec4bcc 100644 --- a/mac.c +++ b/mac.c @@ -552,6 +552,8 @@ int main(int argc,char *argv[]) for(i=argc-1;i>0;i--) #ifdef LOCAL_CONTROL if(i1022) + argv[i+1][1022]=0; sprintf(message,"t%s",argv[i+1]); send_message(&single_instance,message); exit(0); @@ -562,6 +564,8 @@ int main(int argc,char *argv[]) } else #ifdef BACKCHANNEL if(i1022) + argv[i+1][1022]=0; sprintf(message,"b%s",argv[i+1]); send_message(&single_instance,message); exit(0); diff --git a/pnmshow24.c b/pnmshow24.c index 3978f00..e096c7f 100644 --- a/pnmshow24.c +++ b/pnmshow24.c @@ -16,7 +16,7 @@ int main(int argc,char** argv) { FILE* in=stdin; int j,width,height,paddedWidth; - unsigned char buffer[1024]; + char buffer[1024]; rfbScreenInfoPtr rfbScreen; if(argc>1) { diff --git a/vncev.c b/vncev.c index ba00f9c..8116815 100644 --- a/vncev.c +++ b/vncev.c @@ -67,10 +67,10 @@ void output(rfbScreenInfoPtr s,char* line) void dokey(Bool down,KeySym k,rfbClientPtr cl) { - char buffer[1024]; + char buffer[1024+32]; sprintf(buffer,"%s: %s (0x%x)", - down?"down":"up",keys[k&0x3ff]?keys[k&0x3ff]:"",k); + down?"down":"up",keys[k&0x3ff]?keys[k&0x3ff]:"",(unsigned int)k); output(cl->screen,buffer); } @@ -84,17 +84,18 @@ void doptr(int buttonMask,int x,int y,rfbClientPtr cl) } -void newclient(rfbClientPtr cl) +enum rfbNewClientAction newclient(rfbClientPtr cl) { char buffer[1024]; struct sockaddr_in addr; - int len=sizeof(addr),ip; + unsigned int len=sizeof(addr),ip; - getpeername(cl->sock,&addr,&len); + getpeername(cl->sock,(struct sockaddr*)&addr,&len); ip=ntohl(addr.sin_addr.s_addr); sprintf(buffer,"Client connected from ip %d.%d.%d.%d", (ip>>24)&0xff,(ip>>16)&0xff,(ip>>8)&0xff,ip&0xff); output(cl->screen,buffer); + return RFB_CLIENT_ACCEPT; } int main(int argc,char** argv) @@ -102,7 +103,7 @@ int main(int argc,char** argv) rfbScreenInfoPtr s=rfbGetScreen(&argc,argv,640,480,8,1,1); s->colourMap.is16=FALSE; s->colourMap.count=2; - s->colourMap.data.bytes="\xd0\xd0\xd0\x30\x01\xe0"; + s->colourMap.data.bytes=(unsigned char*)"\xd0\xd0\xd0\x30\x01\xe0"; s->rfbServerFormat.trueColour=FALSE; s->frameBuffer=f; s->kbdAddEvent=dokey; diff --git a/x11vnc.c b/x11vnc.c index 2ffb7e6..6559183 100644 --- a/x11vnc.c +++ b/x11vnc.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #ifndef NO_SHM @@ -338,6 +339,8 @@ int main(int argc,char** argv) for(i=argc-1;i>0;i--) #ifdef LOCAL_CONTROL if(i1022) + argv[i+1][1022]=0; sprintf(message,"t%s",argv[i+1]); send_message(&single_instance,message); exit(0); @@ -348,6 +351,8 @@ int main(int argc,char** argv) } else #ifdef BACKCHANNEL if(i1022) + argv[i+1][1022]=0; sprintf(message,"b%s",argv[i+1]); send_message(&single_instance,message); exit(0); @@ -417,7 +422,7 @@ int main(int argc,char** argv) for(i=0;i<256;i++) color[i].pixel=i; XQueryColors(dpy,DefaultColormap(dpy,xscreen),color,256); - screen->colourMap.data.shorts = (short*)malloc(3*sizeof(short)*screen->colourMap.count); + screen->colourMap.data.shorts = (unsigned short*)malloc(3*sizeof(short)*screen->colourMap.count); for(i=0;icolourMap.count;i++) { screen->colourMap.data.shorts[i*3+0] = color[i].red; screen->colourMap.data.shorts[i*3+1] = color[i].green; @@ -509,7 +514,7 @@ int main(int argc,char** argv) rfbScreenCleanup(screen); XFree(dpy); #ifndef NO_SHM - XShmDetach(dpy,framebufferImage); + XShmDetach(dpy,&shminfo); #endif exit(0); } diff --git a/zippy.c b/zippy.c index 2f35059..58ad3ee 100644 --- a/zippy.c +++ b/zippy.c @@ -21,7 +21,6 @@ void on_key_press (Bool down,KeySym key,rfbClientPtr cl); int main (int argc, char **argv) { - int i; rfbScreenInfoPtr server; rfbProcessSizeArguments(&maxx,&maxy,&bpp,&argc,argv); @@ -109,7 +108,7 @@ void draw_primary_colours_generic_fast(rfbScreenInfoPtr s,int x1,int y1,int x2,i void draw_primary_colours_generic_ultrafast(rfbScreenInfoPtr s,int x1,int y1,int x2,int y2) { rfbPixelFormat f=s->rfbServerFormat; - int i,j,y3=(y1*2+y2)/3,y4=(y1+y2*2)/3; + int y3=(y1*2+y2)/3,y4=(y1+y2*2)/3; /* fill rectangles */ rfbFillRect(s,x1,y1,x2,y3,f.redMax<