pj_strcat problems...

S
sjs205
Wed, Jan 25, 2012 11:14 AM

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

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
HN
Hari Narayanan
Wed, Jan 25, 2012 1:48 PM

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

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<http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org> >
S
sjs205
Wed, Jan 25, 2012 2:18 PM

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

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
HN
Hari Narayanan
Thu, Jan 26, 2012 3:22 AM

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

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 > >
S
sjs205
Thu, Jan 26, 2012 5:33 PM

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

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
LS
Leonid Segal
Fri, Jan 27, 2012 6:41 AM

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

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 > >
S
sjs205.linux@googlemail.com
Fri, Jan 27, 2012 9:35 AM

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

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