Newbie question - gcry_sexp_build Seg. Fault
António Pinto
pinto.antonio at gmail.com
Fri Nov 5 12:59:14 CET 2004
I've tried replacing the gcry_sexp_build with gcry_sexp_sscan, but I
still get a seg. fault.
The current code is:
-------------------
int buildSig(int msgid, int leaderid, char * sig) {
gcry_sexp_t plain, sign;
int len; char exp[1024];
sprintf(exp,"(data (flags raw) (value %d))",msgid+leaderid);
// gcry_sexp_build (&plain, NULL, "(data (flags raw) (value %s))", val);
gcry_sexp_sscan(&plain,NULL,exp,strlen(exp));
gcry_pk_sign(&sign, plain, sKey);
len=gcry_sexp_sprint(sign, GCRYSEXP_FMT_ADVANCED, sig, sizeof(char)*1024);
return len;
}
-------------------
On Thu, 4 Nov 2004 17:20:55 +0000, António Pinto
<pinto.antonio at gmail.com> wrote:
> That was one of the attempts I've made to resolve the seg. fault. The
> actual code is the following:
>
>
>
> ------------------
> int buildSig(int msgid, int leaderid, char * sig) {
> gcry_sexp_t plain, sign;
> int len,data;
>
> data=msgid+leaderid;
> gcry_sexp_build (&plain, NULL, "(data (flags raw) (value %d))", data);
> gcry_pk_sign(&sign, plain, sKey);
> len=gcry_sexp_sprint(sign, GCRYSEXP_FMT_ADVANCED, sig, sizeof(char)*1024);
>
> return len;
> }
> --------------------
>
> And I keep getting de seg. fault.
> One thing I've noticied is that the seg. fault only happens on the
> first run (of the first forked process, in a multi process
> enviroment).
>
> thx
>
> On Fri, 5 Nov 2004 01:17:43 +0000 (Local time zone must be set--see
>
>
> zic manual page), t.fromm at dresearch.de <t.fromm at dresearch.de> wrote:
> >
> > On Thu, 4 Nov 2004, António Pinto wrote:
> >
> > > I'm getting a seg. fault while running the following code:
> > >
> > > ------------------------
> > > gcry_sexp_build (&plain, NULL, "(data (flags raw) (value %d))", &data); /* SEG FAULT */
> >
> > Typo here: you want to use tha value of (int) data, not the value at the
> > address this (uninitialised) int points to. Try '...lue %d))", data);' .
> >
> > Regards,
> > Thilo
> >
> > /* Dipl.-Ing. (FH) Thilo Fromm, MSc., Hardware & Software
> > * DResearch Digital Media Systems GmbH
> > * Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
> > * Tel: +49 (30) 515932-228 mailto:t.fromm at dresearch.de
> > * Fax: +49 (30) 515932-299 http://www.dresearch.de */
> >
> >
>
>
> --
> António Pinto
>
--
António Pinto
More information about the Gcrypt-devel
mailing list