mirror of
https://codeberg.org/la-chouette/minishell.git
synced 2025-12-06 07:28:09 +01:00
fuzz: basic setup
This commit is contained in:
parent
58a27d712b
commit
f0d7dcc752
4 changed files with 49 additions and 1 deletions
39
src/fuzz.c
Normal file
39
src/fuzz.c
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* fuzz.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/30 16:01:18 by kcolin #+# #+# */
|
||||
/* Updated: 2025/04/30 17:13:17 by kcolin ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fcntl.h"
|
||||
#include "minishell.h"
|
||||
#include "parser/cmd/cmd_destroy.h"
|
||||
#include "parser/cmd_parsing.h"
|
||||
#include "unistd.h"
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
t_minishell app;
|
||||
bzero(&app, sizeof(t_minishell));
|
||||
int null = open("/dev/null", O_RDONLY, 0);
|
||||
|
||||
char *line = (char *)calloc(size + 1, sizeof(char));
|
||||
memcpy(line, data, size);
|
||||
|
||||
dup2(null, STDIN_FILENO);
|
||||
close(null);
|
||||
t_cmd *cmd = minishell_parse(&app, line);
|
||||
|
||||
cmd_destroy(cmd);
|
||||
free(line);
|
||||
|
||||
return (0); // Values other than 0 and -1 are reserved for future use.
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue