X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=filebrowser%2Fselfile.c;h=91f39a9e1071f9f09fc72fa158bfeb7e4d5beaa9;hb=0ea1b434ac6becf79c75d85ba27de5b89666a7c3;hp=c0a2ce270e417b9a2bc0b0fa1853e826961c4b1d;hpb=01768d1677ff891d503bbfa250b09d373bfa7422;p=xboard.git diff --git a/filebrowser/selfile.c b/filebrowser/selfile.c index c0a2ce2..91f39a9 100644 --- a/filebrowser/selfile.c +++ b/filebrowser/selfile.c @@ -593,11 +593,11 @@ SFtextChanged() { if ((SFtextBuffer[0] == '/') || (SFtextBuffer[0] == '~')) { - (void) strcpy(SFcurrentPath, SFtextBuffer); + (void) strncpy(SFcurrentPath, SFtextBuffer, MAXPATHLEN); SFtextPos = XawTextGetInsertionPoint(selFileField); } else { - (void) strcat(strcpy(SFcurrentPath, SFstartDir), SFtextBuffer); + (void) strcat(strncpy(SFcurrentPath, SFstartDir, MAXPATHLEN), SFtextBuffer); SFtextPos = XawTextGetInsertionPoint(selFileField) + strlen(SFstartDir); @@ -697,11 +697,11 @@ XsraSelFile(toplevel, prompt, ok, cancel, failed, XtAppError(SFapp, "XsraSelFile: can't get current directory"); } (void) strcat(SFstartDir, "/"); - (void) strcpy(SFcurrentDir, SFstartDir); + (void) strncpy(SFcurrentDir, SFstartDir, MAXPATHLEN); if (init_path) { if (init_path[0] == '/') { - (void) strcpy(SFcurrentPath, init_path); + (void) strncpy(SFcurrentPath, init_path, MAXPATHLEN); if (strncmp( SFcurrentPath, SFstartDir, @@ -712,12 +712,12 @@ XsraSelFile(toplevel, prompt, ok, cancel, failed, SFsetText(&(SFcurrentPath[strlen(SFstartDir)])); } } else { - (void) strcat(strcpy(SFcurrentPath, SFstartDir), + (void) strcat(strncpy(SFcurrentPath, SFstartDir, MAXPATHLEN), init_path); SFsetText(&(SFcurrentPath[strlen(SFstartDir)])); } } else { - (void) strcpy(SFcurrentPath, SFstartDir); + (void) strncpy(SFcurrentPath, SFstartDir, MAXPATHLEN); } SFfunc = show_entry;