It's UWAweek 47

help3007

This forum is provided to promote discussion amongst students enrolled in CITS3007 Secure Coding. If posting a question, it's suggested you check first whether your question is answered in the unit Frequently Asked Questions (FAQ) list, and use the search box (on the right) to see if an answer to your question has already been posted.

Please consider offering answers and suggestions to help other students! And if you fix a problem by following a suggestion here, it would be great if other interested students could see a short "Great, fixed it!"  followup message.

Note that any posts must comply with the UWA Code of Conduct and the UWA Academic Conduct Policy. That means you should (a) treat everyone with respect and courtesy, and (b) not post your solutions to an assessment that's in progress.

If asking a programming question, it's recommended you read How do I ask a good question? If reporting or troubleshooting a bug in software used in the unit, it's recommend you read How to report bugs effectively.
Displaying selected article
Showing 1 of 170 articles.
Currently 3 other people reading this forum.


 UWA week 19 (1st semester, week 10) ↓
SVG not supported

Login to reply

👍?
helpful

I was trying to run this section of the code from the project outline.

This is the code I was trying to run:

char plain_text[] = "HELLOWORLD";
char cipher_text[sizeof(plain_text)] = {0};
caesar_encrypt('A', 'Z', 3, plain_text, cipher_text);

I compiled the program using this command.

cc -std=c11 -Wall -Werror -o e_cits3007_project cits3007_project.c

But I was getting these warnings:

cits3007_project.c: In function ‘main’:
cits3007_project.c:29:5: error: variable-sized object may not be initialized
   29 |     char cipher_text[strlen(plain_text)] = {0};
      |     ^~~~
cits3007_project.c:29:45: error: excess elements in array initializer [-Werror]
   29 |     char cipher_text[strlen(plain_text)] = {0};
      |                                             ^
cits3007_project.c:29:45: note: (near initialization for ‘cipher_text’)

From my reading online about these warnings, I read that "You cannot initialize a variable length array in C" (I got that from this link: https://stackoverflow.com/questions/14186879/c-error-variable-sized-object-may-not-be-initialized). I know that I can get around this warning by allocating the memory or something like that, but the fact that this is from the project outline has me worrying!

I am not that confident with my C coding so I am a little paranoid about the warnings as the code is straight from the project outline.

Is this wrong? Am I wrong (probably)? If I am wrong, why so?

Hope you guys can help! :D

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Written by [email protected]
Powered by history
Feedback always welcome - it makes our software better!
Last modified  8:08AM Aug 25 2024
Privacy policy