Am 05.12.2010 09:14, schrieb Alan Coopersmith: > Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> > --- > src/StrToCurs.c | 24 ++++++++++++++---------- > 1 files changed, 14 insertions(+), 10 deletions(-) > > diff --git a/src/StrToCurs.c b/src/StrToCurs.c > index 53d98f5..4d72f80 100644 > --- a/src/StrToCurs.c > +++ b/src/StrToCurs.c > @@ -155,25 +155,29 @@ XmuCvtStringToCursor(XrmValuePtr args, Cardinal > *num_args, > > if (0 == strncmp(FONTSPECIFIER, name, strlen(FONTSPECIFIER))) { > char source_name[PATH_MAX], mask_name[PATH_MAX]; > - int source_char, mask_char, fields; > + int source_char, mask_char, fields = 0; > Font source_font, mask_font; > XrmValue fromString, toFont; > XrmValue cvtArg; > Boolean success; > Display *dpy = DisplayOfScreen(screen); > - char *strspec = NULL; > + char *strspec = NULL; > + int strspeclen; > #ifdef XMU_KLUDGE > Cardinal num; > #endif > > - strspec = XtMalloc(strlen("FONT %s %d %s %d") + 21); > - sprintf(strspec, "FONT %%%lds %%d %%%lds %%d", > - (unsigned long)sizeof(source_name) - 1, > - (unsigned long)sizeof(mask_name) - 1); > - fields = sscanf(name, strspec, > - source_name, &source_char, > - mask_name, &mask_char); > - XtFree(strspec); > + strspeclen = strlen("FONT %s %d %s %d") + 21; > + strspec = XtMalloc(strspeclen); > + if (strspec != NULL) { > + snprintf(strspec, strspeclen, "FONT %%%lds %%d %%%lds %%d", > + (unsigned long)sizeof(source_name) - 1, > + (unsigned long)sizeof(mask_name) - 1); > + fields = sscanf(name, strspec, > + source_name, &source_char, > + mask_name, &mask_char); > + XtFree(strspec); > + } > if (fields < 2) { > XtStringConversionWarning(name, XtRCursor); > return;
Can you use XFNasprintf() here ? re, wh _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel