From 018b48569297b7319cad88d8e94e2fb406304117 Mon Sep 17 00:00:00 2001 From: ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> Date: Tue, 22 Sep 2009 12:07:19 -0400 Subject: Fix Segmentation fault while data in Package.gz is not good While setting up a personal opkg feed, I encountered a crash in opgk when trying to install the package from the repository. Instead of an error message from opkg, it just gave me "Segmentation fault" and exited. Thanks to EdorFaus <edorfaus@gmail.com> http://groups.google.com/group/opkg-devel/browse_thread/thread/9620711475fa98d2 git-svn-id: http://opkg.googlecode.com/svn/trunk@218 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- diff --git a/libopkg/opkg_download.c b/libopkg/opkg_download.c index 999dc87..f185f22 100644 --- a/libopkg/opkg_download.c +++ b/libopkg/opkg_download.c @@ -209,6 +209,10 @@ int opkg_download_pkg(opkg_conf_t *conf, pkg_t *pkg, const char *dir) pkg->name, pkg->parent->name); return -1; } + if (pkg->filename == NULL) { + opkg_message(conf,OPKG_ERROR, "ERROR: Package %s (parent %s) does not have a valid filename field.\n",pkg->name, pkg->parent->name); + return -1; + } sprintf_alloc (&pkgid, "%s;%s;%s;", pkg->name, pkg->version, pkg->architecture); opkg_set_current_state (conf, OPKG_STATE_DOWNLOADING_PKG, pkgid); -- cgit v0.9.1