From: ticktock35 Date: Mon, 15 Dec 2008 05:13:40 +0000 (+0000) Subject: opkg: prevent segfault if option is not found X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6c77121fba6a9ca68e8a8ad39405542940999d15;p=project%2Fopkg-lede.git opkg: prevent segfault if option is not found git-svn-id: http://opkg.googlecode.com/svn/trunk@93 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- diff --git a/libopkg/opkg.c b/libopkg/opkg.c index a749bf9..b94ad55 100644 --- a/libopkg/opkg.c +++ b/libopkg/opkg.c @@ -295,7 +295,7 @@ opkg_get_option (opkg_t *opkg, char *option, void **value) void opkg_set_option (opkg_t *opkg, char *option, void *value) { - int i = 0; + int i = 0, found = 0; opkg_option_t *options; opkg_assert (opkg != NULL); @@ -311,11 +311,18 @@ opkg_set_option (opkg_t *opkg, char *option, void *value) { if (strcmp (options[i].name, option) == 0) { + found = 1; break; } i++; } + if (!found) + { + /* XXX: Warning: Option not found */ + return; + } + /* set the option */ switch (options[i].type) {