From 35e7eafe6efd51c30a7fbe1adb43d8a526408848 Mon Sep 17 00:00:00 2001 From: Anzhelika Nikolaieva Date: Wed, 1 Nov 2023 14:07:20 +0000 Subject: [PATCH] Update 'a1/program.c' --- a1/program.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/a1/program.c b/a1/program.c index af8d7a7..9613473 100644 --- a/a1/program.c +++ b/a1/program.c @@ -14,7 +14,10 @@ int main() { char code[MAX_SIZE]; stack.size = 0; - fgets(code, sizeof(code), stdin); + if (fgets(code, sizeof(code), stdin) == NULL) { + printf("Error reading input.\n"); + return 1; + } if (code[strlen(code) - 1] == '\n') { code[strlen(code) - 1] = '\0'; @@ -25,6 +28,10 @@ int main() { char missing_closing[MAX_SIZE]; int missing_count = 0; + if (strlen(code) > MAX_SIZE) { + return 1; + } + for (int i = 0; code[i] != '\0'; i++) { if (code[i] == '(' || code[i] == '[' || code[i] == '{' || code[i] == '<') { if (stack.size < MAX_SIZE) { @@ -47,7 +54,7 @@ int main() { (code[i] == '>' && opening != '<')) { printf("Crossed bracket %c in %d, expected %c\n", code[i], i, opening); return 0; - } + } } } @@ -67,4 +74,4 @@ int main() { } return 0; -} +} \ No newline at end of file