[🔨] fix: Free when overflow detected
This commit is contained in:
BIN
obj/algo/algo.o
Normal file
BIN
obj/algo/algo.o
Normal file
Binary file not shown.
BIN
obj/algo/get_min_max.o
Normal file
BIN
obj/algo/get_min_max.o
Normal file
Binary file not shown.
BIN
obj/algo/insertion.o
Normal file
BIN
obj/algo/insertion.o
Normal file
Binary file not shown.
BIN
obj/algo/median.o
Normal file
BIN
obj/algo/median.o
Normal file
Binary file not shown.
BIN
obj/algo/small_mouv.o
Normal file
BIN
obj/algo/small_mouv.o
Normal file
Binary file not shown.
BIN
obj/main.o
Normal file
BIN
obj/main.o
Normal file
Binary file not shown.
BIN
obj/operations/ft_pushstack.o
Normal file
BIN
obj/operations/ft_pushstack.o
Normal file
Binary file not shown.
BIN
obj/operations/ft_reverserotate.o
Normal file
BIN
obj/operations/ft_reverserotate.o
Normal file
Binary file not shown.
BIN
obj/operations/ft_rotatestack.o
Normal file
BIN
obj/operations/ft_rotatestack.o
Normal file
Binary file not shown.
BIN
obj/operations/ft_swapstack.o
Normal file
BIN
obj/operations/ft_swapstack.o
Normal file
Binary file not shown.
BIN
obj/parsing.o
Normal file
BIN
obj/parsing.o
Normal file
Binary file not shown.
BIN
obj/print_stack.o
Normal file
BIN
obj/print_stack.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stackadd_back.o
Normal file
BIN
obj/stack/ft_stackadd_back.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stackadd_front.o
Normal file
BIN
obj/stack/ft_stackadd_front.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stackclear.o
Normal file
BIN
obj/stack/ft_stackclear.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stackdelone.o
Normal file
BIN
obj/stack/ft_stackdelone.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stacklast.o
Normal file
BIN
obj/stack/ft_stacklast.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stacknew.o
Normal file
BIN
obj/stack/ft_stacknew.o
Normal file
Binary file not shown.
BIN
obj/stack/ft_stacksize.o
Normal file
BIN
obj/stack/ft_stacksize.o
Normal file
Binary file not shown.
BIN
obj/utils/is_sorted.o
Normal file
BIN
obj/utils/is_sorted.o
Normal file
Binary file not shown.
BIN
obj/utils/print_error.o
Normal file
BIN
obj/utils/print_error.o
Normal file
Binary file not shown.
17
src/main.c
17
src/main.c
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/04 12:14:22 by adjoly #+# #+# */
|
/* Created: 2024/02/04 12:14:22 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/03/16 21:01:23 by adjoly ### ########.fr */
|
/* Updated: 2024/03/18 16:51:24 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ void check_invalid_char(char **av)
|
|||||||
{
|
{
|
||||||
if (!ft_isdigit(*tmp_args) && *tmp_args != '-' \
|
if (!ft_isdigit(*tmp_args) && *tmp_args != '-' \
|
||||||
&& *tmp_args != '+' && *tmp_args != 32)
|
&& *tmp_args != '+' && *tmp_args != 32)
|
||||||
ft_senderror();
|
ft_senderror(NULL);
|
||||||
tmp_args++;
|
tmp_args++;
|
||||||
}
|
}
|
||||||
tmp++;
|
tmp++;
|
||||||
@ -45,10 +45,7 @@ void check_double(t_stack **stack)
|
|||||||
while (check_dup)
|
while (check_dup)
|
||||||
{
|
{
|
||||||
if (check_dup->nb == tmp->nb)
|
if (check_dup->nb == tmp->nb)
|
||||||
{
|
ft_senderror(stack);
|
||||||
ft_stackclear(stack);
|
|
||||||
ft_senderror();
|
|
||||||
}
|
|
||||||
check_dup = check_dup->next;
|
check_dup = check_dup->next;
|
||||||
}
|
}
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
@ -69,9 +66,9 @@ void check_sign(char **av)
|
|||||||
{
|
{
|
||||||
if ((*tmp_av == '-' || *tmp_av == '+') \
|
if ((*tmp_av == '-' || *tmp_av == '+') \
|
||||||
&& !ft_isdigit(*(tmp_av + 1)))
|
&& !ft_isdigit(*(tmp_av + 1)))
|
||||||
ft_senderror();
|
ft_senderror(NULL);
|
||||||
if ((*tmp_av == '-' || *tmp_av == '+') && ft_isdigit(*(tmp_av - 1)))
|
if ((*tmp_av == '-' || *tmp_av == '+') && ft_isdigit(*(tmp_av - 1)))
|
||||||
ft_senderror();
|
ft_senderror(NULL);
|
||||||
tmp_av++;
|
tmp_av++;
|
||||||
}
|
}
|
||||||
tmp++;
|
tmp++;
|
||||||
@ -89,7 +86,7 @@ void check_empty_args(char **av)
|
|||||||
{
|
{
|
||||||
tmp_av = *tmp;
|
tmp_av = *tmp;
|
||||||
if (!*tmp_av)
|
if (!*tmp_av)
|
||||||
ft_senderror();
|
ft_senderror(NULL);
|
||||||
while (*tmp_av)
|
while (*tmp_av)
|
||||||
{
|
{
|
||||||
if (*tmp_av != 32)
|
if (*tmp_av != 32)
|
||||||
@ -97,7 +94,7 @@ void check_empty_args(char **av)
|
|||||||
tmp_av++;
|
tmp_av++;
|
||||||
}
|
}
|
||||||
if (!*tmp_av)
|
if (!*tmp_av)
|
||||||
ft_senderror();
|
ft_senderror(NULL);
|
||||||
tmp++;
|
tmp++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/04 12:05:43 by adjoly #+# #+# */
|
/* Created: 2024/02/04 12:05:43 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/03/16 15:13:43 by adjoly ### ########.fr */
|
/* Updated: 2024/03/18 16:57:06 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -39,6 +39,12 @@ void ft_freearr(char **arr)
|
|||||||
free(arr);
|
free(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ft_senderror_split(t_stack **stack, char **split)
|
||||||
|
{
|
||||||
|
ft_freearr(split);
|
||||||
|
ft_senderror(stack);
|
||||||
|
}
|
||||||
|
|
||||||
t_stack *ft_parsing(char **av)
|
t_stack *ft_parsing(char **av)
|
||||||
{
|
{
|
||||||
t_stack *parsed_data;
|
t_stack *parsed_data;
|
||||||
@ -57,7 +63,7 @@ t_stack *ft_parsing(char **av)
|
|||||||
{
|
{
|
||||||
if (ft_nbrlen(*tmp_split) > 11 || ft_atoll(*tmp_split) > 2147483647 \
|
if (ft_nbrlen(*tmp_split) > 11 || ft_atoll(*tmp_split) > 2147483647 \
|
||||||
|| ft_atoll(*tmp_split) < -2147483648)
|
|| ft_atoll(*tmp_split) < -2147483648)
|
||||||
ft_senderror();
|
ft_senderror_split(&parsed_data, split);
|
||||||
ft_stackadd_back(&parsed_data, ft_stacknew(ft_atoi(*tmp_split)));
|
ft_stackadd_back(&parsed_data, ft_stacknew(ft_atoi(*tmp_split)));
|
||||||
tmp_split++;
|
tmp_split++;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/02/04 12:18:29 by adjoly #+# #+# */
|
/* Created: 2024/02/04 12:18:29 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/03/13 14:35:19 by adjoly ### ########.fr */
|
/* Updated: 2024/03/18 16:47:27 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -68,6 +68,6 @@ void ft_print_stack(t_stack *stack);
|
|||||||
|
|
||||||
// utils
|
// utils
|
||||||
t_boolean ft_is_sort(t_stack **stack);
|
t_boolean ft_is_sort(t_stack **stack);
|
||||||
void ft_senderror(void);
|
void ft_senderror(t_stack **stack);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -6,14 +6,15 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/03/11 15:47:05 by adjoly #+# #+# */
|
/* Created: 2024/03/11 15:47:05 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/03/16 19:01:15 by adjoly ### ########.fr */
|
/* Updated: 2024/03/18 16:50:28 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../push_swap.h"
|
#include "../push_swap.h"
|
||||||
|
|
||||||
void ft_senderror(void)
|
void ft_senderror(t_stack **stack)
|
||||||
{
|
{
|
||||||
ft_putendl_fd("Error", STDERR_FILENO);
|
ft_putendl_fd("Error", STDERR_FILENO);
|
||||||
|
ft_stackclear(stack);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user