Patch invalid write
authorLukas Jiriste <ljiriste@student.42prague.com>
Fri, 27 Oct 2023 08:32:42 +0000 (10:32 +0200)
committerLukas Jiriste <ljiriste@student.42prague.com>
Fri, 27 Oct 2023 08:32:42 +0000 (10:32 +0200)
Move "buffer[i] = '\0'" after a branch that handles i < 0.

get_next_line.c
get_next_line_bonus.c

index 4e5cae8568dbde2f773c15b2ff1c1f286a5b68fd..cffebc3f1db782a83f8626c97fb1943dd4b19fa1 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <marvin@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/08/28 00:01:15 by ljiriste          #+#    #+#             */
-/*   Updated: 2023/10/25 13:06:18 by ljiriste         ###   ########.fr       */
+/*   Updated: 2023/10/27 10:24:16 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -96,7 +96,6 @@ char  *get_next_line(int fd)
                if (buffer[0] == '\0')
                {
                        i = read(fd, buffer, BUFFER_SIZE);
-                       buffer[i] = '\0';
                        if (i <= 0)
                                delete_file_node(fd, &list);
                        if (i < 0)
@@ -106,6 +105,7 @@ char        *get_next_line(int fd)
                        }
                        if (i == 0)
                                return (res);
+                       buffer[i] = '\0';
                }
        }
        return (res);
index 4e5cae8568dbde2f773c15b2ff1c1f286a5b68fd..cffebc3f1db782a83f8626c97fb1943dd4b19fa1 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <marvin@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/08/28 00:01:15 by ljiriste          #+#    #+#             */
-/*   Updated: 2023/10/25 13:06:18 by ljiriste         ###   ########.fr       */
+/*   Updated: 2023/10/27 10:24:16 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -96,7 +96,6 @@ char  *get_next_line(int fd)
                if (buffer[0] == '\0')
                {
                        i = read(fd, buffer, BUFFER_SIZE);
-                       buffer[i] = '\0';
                        if (i <= 0)
                                delete_file_node(fd, &list);
                        if (i < 0)
@@ -106,6 +105,7 @@ char        *get_next_line(int fd)
                        }
                        if (i == 0)
                                return (res);
+                       buffer[i] = '\0';
                }
        }
        return (res);