{
char *session_dir = (char *) XtMalloc(MAXPATHLEN);
char *alt_dir = (char *) XtMalloc(MAXPATHLEN);
+ int len;
struct stat buf;
if (!InternSessionDir (session_option, disp))
if ((home = getenv ("HOME")) == 0)
home = "";
+
+ /* JET - VU#497553 */
+ len = strlen(home) +
+ strlen(DtPERSONAL_CONFIG_DIRECTORY) +
+ strlen(DtSM_SESSION_DIRECTORY) +
+ strlen(SM_HOME_DIRECTORY);
+
+ if (len > MAXPATHLEN)
+ alt_dir = XtRealloc(alt_dir, len + 1);
+
(void) sprintf (alt_dir, "%s/%s/%s/%s",
home,
DtPERSONAL_CONFIG_DIRECTORY,
*/
if ((home = getenv ("HOME")) == 0)
home = "";
+
+ /* JET - VU#497553 */
+ len = strlen(home) +
+ strlen(DtPERSONAL_CONFIG_DIRECTORY) +
+ strlen(DtSM_SESSION_DIRECTORY) +
+ strlen(SM_HOME_DIRECTORY);
+
+ if (len > MAXPATHLEN)
+ alt_dir = XtRealloc(alt_dir, len + 1);
+
(void) sprintf (alt_dir, "%s/%s/%s/%s",
home,
DtPERSONAL_CONFIG_DIRECTORY,
Dimension width, height;
Position x, y;
XEvent next;
+ int len;
pch1 = strdup ((char *) GETMESSAGE(40, 1,
"A session cannot be started because of the\nfollowing error:"));
error_file = XtMalloc(MAXPATHLEN+1);
strcpy (error_file, "");
- if (check_errorlog) {
- char *home;
- if (home = getenv ("HOME"))
- sprintf (error_file, "%s/%s/%s", home, DtPERSONAL_CONFIG_DIRECTORY,
- DtERRORLOG_FILE);
- }
+ /* JET - VU#497553 */
+ if (check_errorlog)
+ {
+ char *home;
+
+ if (home = getenv ("HOME"))
+ {
+ len = strlen(home) +
+ strlen(DtPERSONAL_CONFIG_DIRECTORY) +
+ strlen(DtERRORLOG_FILE);
+
+ if (len > MAXPATHLEN)
+ error_file = XtRealloc(error_file, len + 1);
+
+ sprintf (error_file, "%s/%s/%s", home,
+ DtPERSONAL_CONFIG_DIRECTORY,
+ DtERRORLOG_FILE);
+ }
+ }
pch5 = XtMalloc (strlen (pch1) + strlen (pch2) + strlen (pch3) + strlen (pch4) +
strlen (error_file) + 15);
SmXdefMerge(Display *display)
{
char *xdefaults;
+ char *home;
/*
* Load .Xdefaults
*/
- if( (xdefaults = (char *)malloc(strlen(getenv("HOME"))+12)) != NULL)
+ if ((home = getenv("HOME")) == NULL)
+ home = "";
+
+ if( (xdefaults = (char *)malloc(strlen(home)+12)) != NULL)
{
- sprintf(xdefaults,"%s/%s",getenv("HOME"),".Xdefaults");
+ sprintf(xdefaults,"%s/%s",home,".Xdefaults");
if(access(xdefaults,R_OK) == 0)
{
FILE *fp;