aboutsummaryrefslogtreecommitdiffstats
path: root/src/debug.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-06-22 14:50:17 +0000
committerMarcus Brinkmann <[email protected]>2009-06-22 14:50:17 +0000
commit1c454aee81e38ffbc4a615092742ae4b1e37b57f (patch)
treefa9b1896ce8bf617b6712ba95620e811d0abb9ef /src/debug.c
parent2009-06-18 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-1c454aee81e38ffbc4a615092742ae4b1e37b57f.tar.gz
gpgme-1c454aee81e38ffbc4a615092742ae4b1e37b57f.zip
2009-06-22 Marcus Brinkmann <[email protected]>
* configure.ac: Add AC_TYPE_UINTPTR_T. * assuan/assuan.h [_ASSUAN_IN_GPGME_BUILD_ASSUAN]: Declare _gpgme_io_connect. src/ 2009-06-22 Marcus Brinkmann <[email protected]> * debug.h: Everywhere, use %p instead of 0x%x to print pointer. [HAVE_STDINT_H]: Include <stdint.h>. (_TRACE, TRACE, TRACE0, TRACE1, TRACE2, TRACE3, TRACE6): Cast tag to (uintptr_t) before casting it to (void*) to silence GCC warning. * gpgme.h.in (_GPGME_DEPRECATED_OUTSIDE_GPGME): New macro. * sign.c (_GPGME_IN_GPGME): Define it. * keylist.c (_GPGME_IN_GPGME): Define it. * debug.c (_gpgme_debug_begin, _gpgme_debug_add): Handle error in vasprintf and asprintf. * priv-io.h: Include <sys/socket.h>. Declare _gpgme_io_connect. tests/ 2009-06-22 Marcus Brinkmann <[email protected]> * gpg/t-support.h (passphrase_cb): Implement write() according to the book to silence compiler warning. * gpgsm/t-support.h (passphrase_cb): Likewise.
Diffstat (limited to 'src/debug.c')
-rw-r--r--src/debug.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/debug.c b/src/debug.c
index d529653a..979c6256 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -1,6 +1,6 @@
/* debug.c - helpful output in desperate situations
Copyright (C) 2000 Werner Koch (dd9jn)
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 g10 Code GmbH
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2009 g10 Code GmbH
This file is part of GPGME.
@@ -197,6 +197,7 @@ void
_gpgme_debug_begin (void **line, int level, const char *format, ...)
{
va_list arg_ptr;
+ int res;
debug_init ();
if (debug_level < level)
@@ -207,8 +208,10 @@ _gpgme_debug_begin (void **line, int level, const char *format, ...)
}
va_start (arg_ptr, format);
- vasprintf ((char **) line, format, arg_ptr);
+ res = vasprintf ((char **) line, format, arg_ptr);
va_end (arg_ptr);
+ if (res < 0)
+ *line = NULL;
}
@@ -219,17 +222,26 @@ _gpgme_debug_add (void **line, const char *format, ...)
va_list arg_ptr;
char *toadd;
char *result;
+ int res;
if (!*line)
return;
va_start (arg_ptr, format);
- vasprintf (&toadd, format, arg_ptr);
+ res = vasprintf (&toadd, format, arg_ptr);
va_end (arg_ptr);
- asprintf (&result, "%s%s", *(char **) line, toadd);
- free (*line);
+ if (res < 0)
+ {
+ free (*line);
+ *line = NULL;
+ }
+ res = asprintf (&result, "%s%s", *(char **) line, toadd);
free (toadd);
- *line = result;
+ free (*line);
+ if (res < 0)
+ *line = NULL;
+ else
+ *line = result;
}