Hello all,
It is probably just me being stupid - I am fairly new to C and pjsip so
go easy on me - but I'm having some problems with the pj_strcat
function. The following file just segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
Yes, I copied and executed your code. I see seg fault on Windows XP. The
memcpy corresponding to pj_strcat is trying to copy characters from argv[1]
to where it is not supposed to. I do not see any memory alloction preceding
memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205 sjs205.linux@gmail.com wrote:
Hello all,
It is probably just me being stupid - I am fairly new to C and pjsip so go
easy on me - but I'm having some problems with the pj_strcat function. The
following file just segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
_____________**
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/**mailman/listinfo/pjsip_lists.**pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hello,
Thank you for getting back to me. Should I allocate some space from the
pool for the two pj_str variables? I assumed that the pjsua library
would do that for me.
BR
Steven
On 01/25/2012 01:48 PM, Hari Narayanan wrote:
Yes, I copied and executed your code. I see seg fault on Windows XP.
The memcpy corresponding to pj_strcat is trying to copy characters
from argv[1] to where it is not supposed to. I do not see any memory
alloction preceding memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205 <sjs205.linux@gmail.com
mailto:sjs205.linux@gmail.com> wrote:
Hello all,
It is probably just me being stupid - I am fairly new to C and
pjsip so go easy on me - but I'm having some problems with the
pj_strcat function. The following file just segfaults, can anyone
tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
_______________________________________________
Visit our blog: http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
There is no need to. pj_strcat need to do that if I understand its function
correctly.
Hari
On Wed, Jan 25, 2012 at 7:48 PM, sjs205 sjs205.linux@gmail.com wrote:
**
Hello,
Thank you for getting back to me. Should I allocate some space from the
pool for the two pj_str variables? I assumed that the pjsua library would
do that for me.
BR
Steven
On 01/25/2012 01:48 PM, Hari Narayanan wrote:
Yes, I copied and executed your code. I see seg fault on Windows XP. The
memcpy corresponding to pj_strcat is trying to copy characters from argv[1]
to where it is not supposed to. I do not see any memory alloction preceding
memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205 sjs205.linux@gmail.com wrote:
Hello all,
It is probably just me being stupid - I am fairly new to C and pjsip so
go easy on me - but I'm having some problems with the pj_strcat function.
The following file just segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Thanks for getting back to me again Hari, should I report this as a bug
then?
On 01/26/2012 03:22 AM, Hari Narayanan wrote:
There is no need to. pj_strcat need to do that if I understand its
function correctly.
Hari
On Wed, Jan 25, 2012 at 7:48 PM, sjs205 <sjs205.linux@gmail.com
mailto:sjs205.linux@gmail.com> wrote:
Hello,
Thank you for getting back to me. Should I allocate some space
from the pool for the two pj_str variables? I assumed that the
pjsua library would do that for me.
BR
Steven
On 01/25/2012 01:48 PM, Hari Narayanan wrote:
Yes, I copied and executed your code. I see seg fault on Windows
XP. The memcpy corresponding to pj_strcat is trying to copy
characters from argv[1] to where it is not supposed to. I do not
see any memory alloction preceding memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205 <sjs205.linux@gmail.com
<mailto:sjs205.linux@gmail.com>> wrote:
Hello all,
It is probably just me being stupid - I am fairly new to C
and pjsip so go easy on me - but I'm having some problems
with the pj_strcat function. The following file just
segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
_______________________________________________
Visit our blog: http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog:http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog: http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hello.
I do not think that this is a bug..
If you look at standard function "strcat()" in google you can see that the
tmp variable should be enough for storing all the string.
http://www.cplusplus.com/reference/clibrary/cstring/strcat/
So:
pj_str_t tmp = {"sip:",4};
Is Error because the size of the string will only be 4 letters and there
is no space for additional string. You should write:
pj_str_t tmp={"sip:",pj_strlen(sip_user)+4);
Leo.
On Thu, Jan 26, 2012 at 7:33 PM, sjs205 sjs205.linux@gmail.com wrote:
**
Thanks for getting back to me again Hari, should I report this as a bug
then?
On 01/26/2012 03:22 AM, Hari Narayanan wrote:
There is no need to. pj_strcat need to do that if I understand its
function correctly.
Hari
On Wed, Jan 25, 2012 at 7:48 PM, sjs205 sjs205.linux@gmail.com wrote:
Hello,
Thank you for getting back to me. Should I allocate some space from the
pool for the two pj_str variables? I assumed that the pjsua library would
do that for me.
BR
Steven
On 01/25/2012 01:48 PM, Hari Narayanan wrote:
Yes, I copied and executed your code. I see seg fault on Windows XP. The
memcpy corresponding to pj_strcat is trying to copy characters from argv[1]
to where it is not supposed to. I do not see any memory alloction preceding
memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205 sjs205.linux@gmail.com wrote:
Hello all,
It is probably just me being stupid - I am fairly new to C and pjsip so
go easy on me - but I'm having some problems with the pj_strcat function.
The following file just segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Ok, cheers all. I guess I was assuming that pj_strcat would have
allocated extra space for the string...
On 01/27/2012 06:41 AM, Leonid Segal wrote:
Hello.
I do not think that this is a bug..
If you look at standard function "strcat()" in google you can see that
the tmp variable should be enough for storing all the string.
http://www.cplusplus.com/reference/clibrary/cstring/strcat/
So:
pj_str_t tmp = {"sip:",4};
Is Error because the size of the string will only be 4 letters and
there is no space for additional string. You should write:
pj_str_t tmp={"sip:",pj_strlen(sip_user)+4);
Leo.
On Thu, Jan 26, 2012 at 7:33 PM, sjs205 <sjs205.linux@gmail.com
mailto:sjs205.linux@gmail.com> wrote:
Thanks for getting back to me again Hari, should I report this as
a bug then?
On 01/26/2012 03:22 AM, Hari Narayanan wrote:
There is no need to. pj_strcat need to do that if I understand
its function correctly.
Hari
On Wed, Jan 25, 2012 at 7:48 PM, sjs205 <sjs205.linux@gmail.com
<mailto:sjs205.linux@gmail.com>> wrote:
Hello,
Thank you for getting back to me. Should I allocate some
space from the pool for the two pj_str variables? I assumed
that the pjsua library would do that for me.
BR
Steven
On 01/25/2012 01:48 PM, Hari Narayanan wrote:
Yes, I copied and executed your code. I see seg fault on
Windows XP. The memcpy corresponding to pj_strcat is trying
to copy characters from argv[1] to where it is not supposed
to. I do not see any memory alloction preceding memcpy.
Hari
On Wed, Jan 25, 2012 at 4:44 PM, sjs205
<sjs205.linux@gmail.com <mailto:sjs205.linux@gmail.com>> wrote:
Hello all,
It is probably just me being stupid - I am fairly new to
C and pjsip so go easy on me - but I'm having some
problems with the pj_strcat function. The following file
just segfaults, can anyone tell me why?:
#include <pjsua.h>
int main(int argc, char *argv[])
{
const pj_str_t sip_user = pj_str(argv[1]);
pj_str_t tmp = {"sip:",4};
pj_strcat(&tmp, &sip_user);
printf("STRING: %s ***", tmp);
return 0;
}
BR
Steven
_______________________________________________
Visit our blog: http://blog.pjsip.org
<http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog:http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog: http://blog.pjsip.org <http://blog.pjsip.org/>
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog:http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org>
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org