$OpenBSD: patch-src_main_c,v 1.14 2013/07/10 16:40:48 dcoppa Exp $

commit f6df7d7e510f2d8879ec54dce32fee2b691dc32d
Author: Lars-Dominik Braun <lars@6xq.net>
Date:   Tue Jul 2 17:13:47 2013 +0200

piano: Check for libgcrypt errors

Fixes mysterious segfaults from issue #369 and #293.

--- src/main.c.orig	Sun May 19 12:58:18 2013
+++ src/main.c	Wed Jul 10 18:20:12 2013
@@ -424,8 +424,14 @@ int main (int argc, char **argv) {
 	BarSettingsInit (&app.settings);
 	BarSettingsRead (&app.settings);
 
-	PianoInit (&app.ph, app.settings.partnerUser, app.settings.partnerPassword,
-			app.settings.device, app.settings.inkey, app.settings.outkey);
+	PianoReturn_t pret;
+	if ((pret = PianoInit (&app.ph, app.settings.partnerUser,
+			app.settings.partnerPassword, app.settings.device,
+			app.settings.inkey, app.settings.outkey)) != PIANO_RET_OK) {
+		BarUiMsg (&app.settings, MSG_ERR, "Initialization failed:"
+				" %s\n", PianoErrorToStr (pret));
+		return 0;
+	}
 
 	BarUiMsg (&app.settings, MSG_NONE,
 			"Welcome to " PACKAGE " (" VERSION ")! ");
