forked from Federico-Shih/md5-calculator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchild.c
27 lines (23 loc) · 760 Bytes
/
child.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include "lib/shared.h"
#include "child.h"
#define MD5 "md5sum"
int main()
{
char filename[MAX_FILENAME + 1]; // leerlo del pipe
pid_t pid;
// mientras siga recibiendo filenames desde app.c, sigue haciendo forks y llamando a md5sum
while (scanf("%" S(MAX_FILENAME) "s", filename) != EOF)
{
if ((pid = fork()) == -1)
exit(1);
else if (pid == 0)
{
// Debido a que este filename esta recibiendo de app, no es un riesgo de seguridad
execlp(MD5, MD5, filename, NULL);
}
wait(NULL);
}
return EXIT_SUCCESS;
}