libpurple/example/nullclient.c

branch
release-2.x.y
changeset 33809
d5e9c888ccd7
parent 31294
73607ab89c6f
child 33811
5ab172aeeff2
--- a/libpurple/example/nullclient.c	Sat Mar 02 13:59:59 2013 -0500
+++ b/libpurple/example/nullclient.c	Sat Mar 02 17:20:56 2013 -0500
@@ -253,7 +253,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);
@@ -289,8 +289,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