libpurple/example/nullclient.c

changeset 33811
5ab172aeeff2
parent 33643
6f7deddb8850
parent 33809
d5e9c888ccd7
child 33906
dc870eacc2d0
child 34111
85b5efb9a873
--- a/libpurple/example/nullclient.c	Tue Feb 26 21:59:46 2013 -0500
+++ b/libpurple/example/nullclient.c	Sun Mar 03 18:35:43 2013 -0500
@@ -242,7 +242,7 @@
 	GList *iter;
 	int i, num;
 	GList *names = NULL;
-	const char *prpl;
+	const char *prpl = NULL;
 	char name[128];
 	char *password;
 	GMainLoop *loop = g_main_loop_new(NULL, FALSE);
@@ -278,8 +278,12 @@
 		fprintf(stderr, "Failed to gets protocol selection.");
 		abort();
 	}
-	sscanf(name, "%d", &num);
-	prpl = g_list_nth_data(names, num);
+	if (sscanf(name, "%d", &num) == 1)
+		prpl = g_list_nth_data(names, num);
+	if (!prpl) {
+		fprintf(stderr, "Failed to gets protocol.");
+		abort();
+	}
 
 	printf("Username: ");
 	res = fgets(name, sizeof(name), stdin);

mercurial