The Problem: strcat is unsafe The following code overflows the array name and corrupts memory. // Bad code char name[10]; strncpy(name, "Oualline", sizeof(name)); name[sizeof(name)-1] = '\0'; strcat(name, ", "); strcat(name, "Oualline); // Memory is now corrupt Note: Defining an array using a numeric constant (10) instead of a named constant (NAME_SIZE) is bad programming practice. But it does make the example simpler, so it's good writing practice when explaining a hack.
The Problem: strcat is unsafe The following code overflows the array name and corrupts memory. // Bad code char name[10]; strncpy(name, "Oualline", sizeof(name)); name[sizeof(name)-1] = '\0'; strcat(name, ", "); strcat(name, "Oualline); // Memory is now corrupt Note: Defining an array using a numeric constant (10) instead of a named constant (NAME_SIZE) is bad programming practice. But it does make the example simpler, so it's good writing practice when explaining a hack.
Chapter8: Arrays
Section: Chapter Questions
Problem 2RQ
Related questions
Question
The Problem: strcat is unsafe
The following code overflows the array name and corrupts memory.
// Bad code
char name[10];
strncpy(name, "Oualline", sizeof(name));
name[sizeof(name)-1] = '\0';
strcat(name, ", ");
strcat(name, "Oualline);
// Memory is now corrupt
Note: Defining an array using a numeric constant (10) instead of a named
constant (NAME_SIZE) is bad
example simpler, so it's good writing practice when explaining a hack.
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 4 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
![EBK JAVA PROGRAMMING](https://www.bartleby.com/isbn_cover_images/9781337671385/9781337671385_smallCoverImage.jpg)
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
![C++ Programming: From Problem Analysis to Program…](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
![Microsoft Visual C#](https://www.bartleby.com/isbn_cover_images/9781337102100/9781337102100_smallCoverImage.gif)
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
![EBK JAVA PROGRAMMING](https://www.bartleby.com/isbn_cover_images/9781337671385/9781337671385_smallCoverImage.jpg)
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
![C++ Programming: From Problem Analysis to Program…](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
![Microsoft Visual C#](https://www.bartleby.com/isbn_cover_images/9781337102100/9781337102100_smallCoverImage.gif)
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage