
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
![Using the following program, how would you best code line 7 to prevent a buffer overflow?
1 int main(int argc, char *argv[]) {
int valid = 0;
char str1[8];
char str2[8];
next_tag(str1);
2
3
4
5
6 fgets(str2, sizeof(str2), stdin);
if (strncmp(str1, str2, 8) == 0)
valid = 1;
printf("valid = %d", valid);
7
8
9
10 }](https://content.bartleby.com/qna-images/question/6f8569ff-fe94-41af-a098-90db3112b195/15dc6374-d023-4cf3-b4b4-1560bd549602/zt76o3q_thumbnail.png)
Transcribed Image Text:Using the following program, how would you best code line 7 to prevent a buffer overflow?
1 int main(int argc, char *argv[]) {
int valid = 0;
char str1[8];
char str2[8];
next_tag(str1);
2
3
4
5
6 fgets(str2, sizeof(str2), stdin);
if (strncmp(str1, str2, 8) == 0)
valid = 1;
printf("valid = %d", valid);
7
8
9
10 }

Transcribed Image Text:if (strcmp(str1, str2) == 0)
X if (strcmp(str1, str2, 8) == 0)
if (strncmp(str1, str2, sizeof(str2)) == 0)
Add: #define SIZEOF 8 at the top of the program
if (strncmp(str1, str2, SIZEOF) == 0)
No changes are needed.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 3 steps

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.Similar questions
- Using comments in c explaining how each code works line by line. The whole program is given below. Don't delete anything. For example // #include calls upon the c library #include #define N 16 typedef int fix_matrix[N][N]; /* Set all diagonal elements to a[i] + val */ void fix_set_diag(fix_matrix A, int val) { for( int i=0;iarrow_forwardIn C++, by defining a dynamic allocation for pointer array, ask the user to enter some numbers and then return a sorted list of those numbers. Ps: use swap to sortarrow_forwardIn java, the Arrays class contains a static binarySearch() method that returns …… if element is found. false true (-k–1) where k is the position before which the element should be inserted The index of the elementarrow_forward
- AHPA #11: Changing Grades *use c programming language * Create a C function (switcher) that will receive a pointer to the finalExams array, using only pointers look for D scores and boost them to C scores. (ouput should be same as picture) #include <stdio.h> void switcher() { } int main(void) { int finalExams[] = {90,82,65,79,67,82,94,64,88,78,92,61,96,83,74}; return 0;}arrow_forwardC++arrow_forward#include<bits/stdc++.h> using namespace std; void bubbleSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int binarySearch(int arr[], int l, int r, int x, int& comp) { comp++; if (r >= l) { int mid = l + (r - l) / 2; if (arr[mid] == x) { return mid; } if (arr[mid] > x) { return binarySearch(arr, l, mid - 1, x, comp); } return binarySearch(arr, mid + 1, r, x, comp); } return -1; } int main() { int Num[8192]; srand(time(NULL)); for (int i = 0; i < 8192; i++) { Num[i] = rand() % 10001; } clock_t starting_time = clock(); bubbleSort(Num, 8192); clock_t ending_time = clock(); clock_t result =…arrow_forward
- Suppose the following code: int a, b, c;char array[100];void f(int& val){char* arr = new char[100];for(int i = 0; i < val; ++i){arr[i] = i*i;}}int main(){int myValue = 123;f(myValue);return 0;} Think about which section of process memory each part of this program would occupy during execution. Then, match items on the left with their storage locations on the right.arrow_forwardIn C programming. How do I find the max and min values of the corressponding columns. #include <stdio.h>#include <math.h>#include <stdlib.h>#define NROWS 5#define NCOLS 5 int main(void){ int i,j, max, min, m, n; float M[NROWS][NCOLS], Mt[NROWS][NCOLS]; char key_hit; //Input the sizes printf("ROW size(1-5) : ");scanf("%d",&m); printf("Column size(1-5): ");scanf("%d",&n); //Size Check while(m>NROWS || n>NCOLS) { printf("Please re-enter the sizes. \n"); printf("Row size(1-5) : ");scanf("%d", &m); printf("Column size(1-5) : ");scanf("%d", &n); } //Input the Matrix Data for(i=0; i<m; i++) for(j=0; j<n; j++) { printf("M[%d][%d] = ", i,j); scanf("%f", &M[i][j]); } //Print the Matrix Data for(i=0; i<m; i++) { for(j=0; j<n; j++) { printf("%1.2f\t", M[i][j]); }…arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education