To prevent path-modification attack using symbolic link.
Change-Id: Id5133df718b1e14a22849920082ff1717bc417e6
Signed-off-by: Sooyoung Ha <yoosah.ha@samsung.com>
_exit(0);
}
#ifdef SDB_PIDPATH
- FILE *f = fopen(SDB_PIDPATH, "w");
-
- if (f != NULL) {
- fprintf(f, "%d\n", getpid());
- fclose(f);
+ char* tmppath = NULL;
+ tmppath = realpath(SDB_PIDPATH, NULL);
+ if (tmppath == NULL && errno == ENOENT) {
+ FILE *f = fopen(SDB_PIDPATH, "w");
+
+ if (f != NULL) {
+ fprintf(f, "%d\n", getpid());
+ fclose(f);
+ }
+ } else {
+ D("sdbd: %s file is existed. It might not work properly.\n", SDB_PIDPATH);
+ free(tmppath);
}
#endif
if (setsid() == -1)