View | Details | Raw Unified | Return to bug 64898
Collapse All | Expand All

(-)main.cc~ (+12 lines)
Lines 101-106 void setStateToDefaults() { Link Here
101
}
101
}
102
102
103
bool loadConfig() {
103
bool loadConfig() {
104
  uid_t euid;
105
  gid_t egid;
104
  setStateToDefaults();
106
  setStateToDefaults();
105
  windX=10;
107
  windX=10;
106
  windY=30;
108
  windY=30;
Lines 114-119 bool loadConfig() { Link Here
114
  struct passwd *passWord = getpwuid(getuid());
116
  struct passwd *passWord = getpwuid(getuid());
115
  if (passWord == 0) return false;
117
  if (passWord == 0) return false;
116
118
119
  // drop privileges prior to creating file.
120
  euid = geteuid();
121
  egid = getegid();
122
123
  setuid(getuid());
124
  setgid(getgid());
125
 
117
  char *fileName = new char[strlen(passWord->pw_dir) + 20];
126
  char *fileName = new char[strlen(passWord->pw_dir) + 20];
118
  strcpy(fileName,passWord->pw_dir);
127
  strcpy(fileName,passWord->pw_dir);
119
  strcat(fileName,"/.synaesthesia");
128
  strcat(fileName,"/.synaesthesia");
Lines 144-149 bool loadConfig() { Link Here
144
    }
153
    }
145
    fclose(f);
154
    fclose(f);
146
  
155
  
156
    setuid(euid);
157
    setgid(egid);
158
147
    if (windWidth < 1)
159
    if (windWidth < 1)
148
      windWidth = DefaultWidth;
160
      windWidth = DefaultWidth;
149
    if (windHeight < 1)
161
    if (windHeight < 1)

Return to bug 64898