03-23-2006
We need more complete code to help you
Hi Jisc,
You really haven't supplied us enough code to be able to help you.
>>segment_name works on sprintf and strcpy while get_bpdvalue only works on strcpy and not sprintf
If there is really a bug in the compiler sprintf implementation regarding %s, then I would expect it to always fail. Not work one time and then fail another. That is not gauranteed, but the odds are high. Also, if the compiler version has been out there a while, something as common as that would have to have been seen and widely reported.
What about if you loop it 50 times, does that same behavior hold up, or does it start failing for both, or intermittently for either?
If gen_awb is really a char array (NOT a char* - error) AND it is large enough so that no memory overwrite occurrs, then most likely the problem is originating in your char *get_bpdvalue() function.
Keep in mind also, IMPORTANT, that memory overwrites elsewhere in your code could be showing up here as a symption, even though the actual problem may not be right here. That is value of the looping test above, see if other problems appear or if the one problem stays consistent.
So anyway, what is the complete body of your char *get_bpdvalue() function?
Where is the code showing the allocation of char gen_awb[100]; and what all you are doing with it?
Show us all the code necessary to help you.
-mc
10 More Discussions You Might Find Interesting
1. Programming
hi all,
my requirement is to create a thread by calling another function.
i.e i dont call pthread_create directly from main, but by calling another function (createThd - below ), from main.
Example:
void *thread_function(void *arg) { /* thread function */
int i;
rc =... (3 Replies)
Discussion started by: wolwy_pete
3 Replies
2. Shell Programming and Scripting
Hi all,
I am very new to BASH shell programming. I need to return an integer from a function to the caller function. I did this:
but it keeps giving me wrong return:
Can someone help me out here, please?
Thanks (2 Replies)
Discussion started by: alirezan
2 Replies
3. Programming
hi
how can I return multiple values from a C function. I tried the following:
#include <stdio.h>
void foo(int id, char *first_name, char *last_name)
{
/*
this is just an example to illustrate my problem... real code makes
use of the "id" parameter.
*/
first_name = (char... (8 Replies)
Discussion started by: Andrewkl
8 Replies
4. Shell Programming and Scripting
Hello all,
I would like to know if it is possible to return a the result of a boolean expression from a function like this
function()
{
# some code
return ||
}
and what will be the return value ?
Thank you for help. (6 Replies)
Discussion started by: dolphin06
6 Replies
5. Shell Programming and Scripting
Hi All
In my script, I can call on several functions. I have a logging function that is called by any of these functions. What I would like is some way of identifying which function I am using and pass this to the log function as some parameter.
Is there some built in command or way of... (3 Replies)
Discussion started by: kingpin2502
3 Replies
6. Programming
I am working on a C/Unix application from last 2 years which communicates with other systems using proprietary format of my client. We have a function written in C which returns integer, which is response from other system to the request message initiated by my system. This return value is then... (1 Reply)
Discussion started by: dpmore
1 Replies
7. Programming
Hi guys.
how a functions such fdopen, ... can return pointer?
are these functions use static memory(variables)? (6 Replies)
Discussion started by: majid.merkava
6 Replies
8. Programming
Hi,
If I have a code like this, what are the potential problems do you see?
const char* const retString() {
return "hello"; /* string literal */
}
My questions are:
a) Since the string literal which is already a constant read only data (cannot be... (4 Replies)
Discussion started by: royalibrahim
4 Replies
9. Programming
H friends,
As we know, a function returns a value and that value is saved somwhere. like
int Sum( int x, int y )
{
return x + y;
}
Total = Sum( 10, 20 );
The value 30 is saved in variable Total.
Now the question is, what int value does the function main return, and where is it... (5 Replies)
Discussion started by: gabam
5 Replies
10. Programming
Hi All,
I am using malloc function for allocating dynamic memory.
When I am using below code on Linux server its working fine, but When I am trying the same code on HP UNIX server its returning NULL.
below is a fragment of code in which it is giving problem.
tmp = (format_tree... (4 Replies)
Discussion started by: Taher Saifuddin
4 Replies
LEARN ABOUT REDHAT
strncpy
STRCPY(3) Linux Programmer's Manual STRCPY(3)
NAME
strcpy, strncpy - copy a string
SYNOPSIS
#include <string.h>
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t n);
DESCRIPTION
The strcpy() function copies the string pointed to by src (including the terminating ` ' character) to the array pointed to by dest. The
strings may not overlap, and the destination string dest must be large enough to receive the copy.
The strncpy() function is similar, except that not more than n bytes of src are copied. Thus, if there is no null byte among the first n
bytes of src, the result will not be null-terminated.
In the case where the length of src is less than that of n, the remainder of dest will be padded with nulls.
RETURN VALUE
The strcpy() and strncpy() functions return a pointer to the destination string dest.
BUGS
If the destination string of a strcpy() is not large enough (that is, if the programmer was stupid/lazy, and failed to check the size
before copying) then anything might happen. Overflowing fixed length strings is a favourite cracker technique.
CONFORMING TO
SVID 3, POSIX, BSD 4.3, ISO 9899
SEE ALSO
bcopy(3), memccpy(3), memcpy(3), memmove(3)
GNU
1993-04-11 STRCPY(3)