Value changed when parsing parameters


 
Thread Tools Search this Thread
Top Forums Programming Value changed when parsing parameters
# 1  
Old 10-27-2011
Value changed when parsing parameters

I get a strange problem here, and ask for help.

Code:
    (gdb) 
        28        set_file_bit( file, bytePos, bitPos, argv[1] );
        (gdb) p argv[1]
        $3 = 0xbfffef5c "00"
        (gdb) s
        set_file_bit (file=0x804b008, bytePos=2, bitPos=2, binary=0x80490e5 "11") at util/file.c:112
        112        long int pos = ftell(file);

We can see the value of binary is 0x80490e5, not 0xbfffef5c , why?
argv is the parameter of function main.
some part of function main is

Code:
    int main( int argc, char** argv ){
        FILE* file = 0;
        file = fopen( "t.txt", "r+" );
        unsigned int bytePos = 2;
        unsigned int bitPos = 2;
        char buff[2] = { 0, 0 };
        get_byte( file, bytePos, 1, buff);
        set_file_bit( file, bytePos, bitPos, argv[1] );

Thanks
# 2  
Old 10-27-2011
Can you show us the function prototype of set_file_bit()? and the arguments you passed to the main?

--ahamed
# 3  
Old 10-27-2011
One of those looks to be stored on the stack, another looks to be malloc()ed.

If I had to guess, I'd say it changed because something overwrote the pointer in the mistaken hope that this'd somehow propagate outside the function (it doesn't)
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to echo "File permissions or ownership changed from required " when accidentally changed.

Hi All, I have to work in the late nights some times for server maintenance and in a hurry to complete I am accidentally changing ownership or permission of directories :( which have similar names ( /var in root and var of some other directory ).:confused: Can some one suggest me with the... (1 Reply)
Discussion started by: shiek.kaleem
1 Replies

2. Post Here to Contact Site Administrators and Moderators

Permissions Changed?

I cannot seem to post within any thread as I require moderator approval. I believe my permissions have been changed and was wondering whats the reason behind this. Thanks. (3 Replies)
Discussion started by: Banned
3 Replies

3. Shell Programming and Scripting

Safely parsing parameters

I have a string like root=/dev/sda3 noacpi foo "Baz mumble" which I would like to separate into tokens like a shell does. This would be easily done with eval but that would open a security hole big enough to drop a cow through, injecting arbitrary code would be easy as pie. How can I parse this... (15 Replies)
Discussion started by: Corona688
15 Replies

4. Shell Programming and Scripting

Help parsing job script input parameters

I have a job script that runs with input parms from the command line. job.sh -p parm1_parm2_parm3_parm4_file_1.dat The parms are separated by _ The last parm is a file name and can have an _ in the name. I currently use the following commands to extract the parms parm1=`eval echo... (3 Replies)
Discussion started by: jclanc8
3 Replies

5. AIX

tuning network parameters : parameters not persist after reboot

Hello, On Aix 5.2, we changed the parameters tcp_keepinit, tcp_keepintvl and tcp_keepidle with the no command. tunrestore -R is present in inittab in the directory /etc/tunables we can clearly see the inclusion of parameters during reboot, including the file lastboot.log ... (0 Replies)
Discussion started by: dantares
0 Replies

6. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies

7. Shell Programming and Scripting

Perl parsing compared to Ksh parsing

#! /usr/local/bin/perl -w $ip = "$ARGV"; $rw = "$ARGV"; $snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw"; $snmpw = "/usr/local/bin/snmpwalk -Os -c $rw"; $syst=`$snmpg $ip system sysName sysObjectID`; sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies

8. Shell Programming and Scripting

Help with parsing parameters

Hi:- I need to parse a script 3 parameters (file, subject and email address). This is what I currently have: allargs=$* argcount=`echo $allargs | awk -F: '{ print NF }' ` # Total Number of arguments pdffile=`echo $allargs | awk -F: '{ print $1 }' ` # PDF/binary file to be encoded... (4 Replies)
Discussion started by: janet
4 Replies

9. Shell Programming and Scripting

Parsing Parameters

How do you pass parameters over to another script and run the receiving script? . Here is an example of what I am talking about. for x in `cat Allx` do su myaccount -c "/temp/scripts/temp_script $x" > /dev/null 2>$1 $ done I was expecting the tem_script to be... (1 Reply)
Discussion started by: odogbolu98
1 Replies
Login or Register to Ask a Question