Sponsored Content
Top Forums Programming "GLIBC detected Error" for a simple C code. Post 302524983 by pludi on Wednesday 25th of May 2011 09:07:14 AM
Old 05-25-2011
By using input++ you're iterating trough the character array (string), effectively changing the starting position. Once you reach the end, it doesn't point to the start of the allocated memory anymore, but to the address of the end of the string. Since it's not recognized as a valid allocated memory address, the C library can't free it.

Simply save the original address before you enter the loop, and free that address.

Side notes:
  • Using scanf to read input is bad, since it can easily lead to a buffer overflow. Try entering 160 characters, and you'll see what I mean.
  • This problem could easily be solved without a character array, counting the characters on the fly.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. HP-UX

ERROR: more than one instance of overloaded function "vprintf" has "C" linkage

Hi people! I've got this own library: -------------------------------------------- Personal.h -------------------------------------------- #ifdef __cplusplus extern "C" { #endif #include <stdio.h> #include <stdarg.h> #include <string.h> ... (0 Replies)
Discussion started by: donatoll
0 Replies

3. Shell Programming and Scripting

Very Simple "Tabs to Newline" Code???

hi people; i have a text, iptables.txt and values are as follows inside: (seperators are TAB) 10.15.2.2 2 40 10.15.3.3 1 10 10.32.2.1 3 40 10.33.6.7 2 50 10.16.3.2 1 60 10.11.3.9 1 20 10.19.2.1 1 80 10.16.9.9 3 20 10.29.7.9 2 90 10.33.2.7 3 40 ...... i... (5 Replies)
Discussion started by: gc_sw
5 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. UNIX for Dummies Questions & Answers

Unix "look" Command "File too large" Error Message

I am trying to find lines in a text file larger than 3 Gb that start with a given string. My command looks like this: $ look "string" "/home/patrick/filename.txt" However, this gives me the following message: "look: /home/patrick/filename.txt: File too large" So, I have two... (14 Replies)
Discussion started by: shishong
14 Replies

6. Shell Programming and Scripting

Help with delete "_" once detected from the end of a content

Input file: matrix-remodelling_associated_8____ aurora_interacting_1___ L20 von_factor_A_domain_1 ATP_containing_3B_ Desired output: matrix-remodelling_associated_8 aurora_interacting_1 L20 von_factor_A_domain_1 ATP_containing_3B I wanna delete/remove all the "_" that appears at... (2 Replies)
Discussion started by: perl_beginner
2 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Homework & Coursework Questions

FORTRAN error *** glibc detected ***

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I'm doing aproximation of derivative called five-point stencil. For every value of x, in interval , in step... (0 Replies)
Discussion started by: antonija
0 Replies

9. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
kmem(7) 						 Miscellaneous Information Manual						   kmem(7)

NAME
kmem - perform I/O on kernel memory, based on symbol name SYNOPSIS
DESCRIPTION
When used with a valid file descriptor for (kmemfd), can be used to manipulate kernel memory. The specifics of this manipulation depend on the command given as follows: Read mirk_buflen bytes of kernel memory starting at the address for mirk_symname into mirk_buf. rks is a pointer to a structure, defined below. Indirect read. Read bytes of kernel memory starting at the address for mirk_symname and use that as the address from which to read mirk_buflen bytes of kernel memory into mirk_buf. rks is a pointer to a structure. Write mirk_buflen bytes from mirk_buf into kernel memory starting at the address for mirk_symname. rks is a pointer to a structure. Indirect write. Read bytes of kernel memory starting at the address for mirk_symname and use that as the kernel memory address into which mirk_buflen bytes from mirk_buf are written. rks is a pointer to a structure. Increase the hold count by one for the dynamically loaded module whose name is given by rks, a pointer to a character string, thereby preventing its unloading. Decrease the hold count by one for the dynamically loaded module whose name is given by rks, a pointer to a character string. If the count is thereby reduced to 0, the module becomes a candidate for unloading. The definition is: RETURN VALUE
returns one of the following values: Successful completion. Failure. is set to indicate the error. ERRORS
In addition to the values described in ioctl(2), the also sets to one of the following values if the corresponding condition is detected. modname does not represent a currently loaded module or this is an and the hold count is already 0. kmemfd open on wrong minor device (i.e., not kmemfd open for reading and this is an symname not found. modname is greater than characters long, or symname is greater that characters long. SEE ALSO
getksym(2), ioctl(2), ioctl(5). kmem(7)
All times are GMT -4. The time now is 04:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy