semicolons... really?

This commit is contained in:
Aliberk Sandıkçı 2023-07-27 12:55:19 +03:00
parent a988524452
commit dc45257deb
Signed by: asandikci
GPG key ID: 25C67A03B5666BC1

View file

@ -17,57 +17,57 @@ int _daemon(int nochdir, int noclose){
// pid_t defined in sys/types.h // pid_t defined in sys/types.h
// pid_t is a signed int data type // pid_t is a signed int data type
logg(1) logg(1);
pid = fork(); // fork of the parent process pid = fork(); // fork of the parent process
// fork() function defined in unistd.h // fork() function defined in unistd.h
logg(2) logg(2);
if (pid < 0){ if (pid < 0){
logg(3) logg(3);
exit(EXIT_FAILURE); // exit and EXIT_FAILURE defined in stdlib.h exit(EXIT_FAILURE); // exit and EXIT_FAILURE defined in stdlib.h
} }
else if (pid > 0){ else if (pid > 0){
logg(4) logg(4);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
logg(5) logg(5);
sid = setsid(); sid = setsid();
logg(6) logg(6);
if (sid < 0) { if (sid < 0) {
logg(7) logg(7);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
logg(8) logg(8);
if ((chdir("/")) < 0) { if ((chdir("/")) < 0) {
logg(10) logg(10);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
logg(11) logg(11);
if (!noclose) { if (!noclose) {
logg(12) logg(12);
for (int i = 0; i < NR_OPEN; i++){ for (int i = 0; i < NR_OPEN; i++){
logg(13) logg(13);
close(i); close(i);
// close(STDOUT_FILENO); => close(1); // close(STDOUT_FILENO); => close(1);
// close(STDERR_FILENO); => close(2); // close(STDERR_FILENO); => close(2);
} }
open("/dev/null", O_RDWR); open("/dev/null", O_RDWR);
logg(14) logg(14);
dup(0); dup(0);
dup(0); dup(0);
} }
while (1) { while (1) {
logg(15) logg(15);
int status = system("/usr/lib/cdaemontmp/info"); int status = system("/usr/lib/cdaemontmp/info");
// TODO SECURITY ISSUE // TODO SECURITY ISSUE
// LINK https://stackoverflow.com/questions/5237482/how-do-i-execute-an-external-program-within-c-code-in-linux-with-arguments# // LINK https://stackoverflow.com/questions/5237482/how-do-i-execute-an-external-program-within-c-code-in-linux-with-arguments#
sleep(1); sleep(1);
} }
logg(16) logg(16);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }