summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pacman/callback.c2
-rw-r--r--src/pacman/util.c23
2 files changed, 16 insertions, 9 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 629c2e1c..01e65a95 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -592,7 +592,7 @@ void cb_dl_progress(const char *filename, int file_xfered, int file_total,
/* Callback to handle notifications from the library */
void cb_log(pmloglevel_t level, char *fmt, va_list args)
{
- if(strlen(fmt) == 0) {
+ if(!fmt || strlen(fmt) == 0) {
return;
}
diff --git a/src/pacman/util.c b/src/pacman/util.c
index 42436e26..aa08eb26 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -224,6 +224,10 @@ void indentprint(const char *str, int indent)
const wchar_t *p;
int len, cidx;
+ if(!str) {
+ return;
+ }
+
len = strlen(str) + 1;
wcstr = calloc(len, sizeof(wchar_t));
len = mbstowcs(wcstr, str, len);
@@ -401,14 +405,17 @@ void list_display(const char *title, const alpm_list_t *list)
int cols, len;
wchar_t *wcstr;
- /* len goes from # bytes -> # chars -> # cols */
- len = strlen(title) + 1;
- wcstr = calloc(len, sizeof(wchar_t));
- len = mbstowcs(wcstr, title, len);
- len = wcswidth(wcstr, len);
- free(wcstr);
-
- printf("%s ", title);
+ if(title) {
+ /* len goes from # bytes -> # chars -> # cols */
+ len = strlen(title) + 1;
+ wcstr = calloc(len, sizeof(wchar_t));
+ len = mbstowcs(wcstr, title, len);
+ len = wcswidth(wcstr, len);
+ free(wcstr);
+ printf("%s ", title);
+ } else {
+ len = 0;
+ }
if(list) {
for(i = list, cols = len; i; i = alpm_list_next(i)) {