From f5ac4cf8f9bb5d745a4d98ec33988ea1c5ca3e01 Mon Sep 17 00:00:00 2001 From: Frederic Koehler Date: Fri, 17 Aug 2012 00:06:25 -0400 Subject: [PATCH] dtcreate: Replace broken GetBaseName with basename GetBaseName causes segfaults, because when the pathname ends in a "/" it returns NULL. This happens when trying to give a valid filename to dtcreate for an icon. --- cde/programs/dtcreate/cmnrtns.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/cde/programs/dtcreate/cmnrtns.c b/cde/programs/dtcreate/cmnrtns.c index 20c7f354..38faa1c1 100644 --- a/cde/programs/dtcreate/cmnrtns.c +++ b/cde/programs/dtcreate/cmnrtns.c @@ -33,30 +33,13 @@ #include
#include #include "UxXt.h" +#include #include "dtcreate.h" #include "CreateActionAppShell.h" #include "fileio.h" #include "cmnrtns.h" -/*****************************************************************************/ -/* */ -/* GetBaseName */ -/* */ -/*****************************************************************************/ -char * GetBaseName(char *pszFileName) -{ - char *name; - - name = strrchr(pszFileName, '/'); - if (name) { - name = strtok(name, "/"); - return(name); - } else { - return(pszFileName); - } -} - /*****************************************************************************/ /* */ /* ReplaceSpaces */ @@ -273,7 +256,7 @@ void load_icons (Widget wid, XtPointer client_data, */ { XtVaGetValues(IconSelector, XmNuserData, &iSource, NULL); - base_name = GetBaseName(path_and_base_name); + base_name = basename(path_and_base_name); ptr = XtMalloc(strlen(base_name) + 1); strcpy(ptr, base_name); switch (iSource) { -- 2.25.1