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.

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter8: Arrays
Section: Chapter Questions
Problem 2RQ
icon
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 programming practice. But it does make the
example simpler, so it's good writing practice when explaining a hack.

Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Array
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.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage