s/strdup/xstrdup/ - check memory allocations for failure.
[oweals/opkg-lede.git] / libopkg / pkg.c
index e36a38133c688165f71a2b19d9045637c46c24e6..237db44df79781b871f97e2aa666bd9ede8fbb5e 100644 (file)
@@ -29,6 +29,7 @@
 #include "opkg_message.h"
 #include "opkg_utils.h"
 
+#include "libbb/libbb.h"
 #include "sprintf_alloc.h"
 #include "file_util.h"
 #include "str_util.h"
@@ -290,7 +291,7 @@ int pkg_init_from_file(pkg_t *pkg, const char *filename)
      err = pkg_init(pkg);
      if (err) { return err; }
 
-     pkg->local_filename = strdup(filename);
+     pkg->local_filename = xstrdup(filename);
     
      control_file = tmpfile();
      err = pkg_extract_control_file_to_stream(pkg, control_file);
@@ -330,15 +331,15 @@ int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status)
      if (!oldpkg->dest)
          oldpkg->dest = newpkg->dest;
      if (!oldpkg->architecture)
-         oldpkg->architecture = str_dup_safe(newpkg->architecture);
+         oldpkg->architecture = xstrdup(newpkg->architecture);
      if (!oldpkg->arch_priority)
          oldpkg->arch_priority = newpkg->arch_priority;
      if (!oldpkg->section)
-         oldpkg->section = str_dup_safe(newpkg->section);
+         oldpkg->section = xstrdup(newpkg->section);
      if(!oldpkg->maintainer)
-         oldpkg->maintainer = str_dup_safe(newpkg->maintainer);
+         oldpkg->maintainer = xstrdup(newpkg->maintainer);
      if(!oldpkg->description)
-         oldpkg->description = str_dup_safe(newpkg->description);
+         oldpkg->description = xstrdup(newpkg->description);
      if (set_status) {
          /* merge the state_flags from the new package */
          oldpkg->state_want = newpkg->state_want;
@@ -408,28 +409,28 @@ int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status)
      }
 
      if (!oldpkg->filename)
-         oldpkg->filename = str_dup_safe(newpkg->filename);
+         oldpkg->filename = xstrdup(newpkg->filename);
      if (0)
      fprintf(stdout, "pkg=%s old local_filename=%s new local_filename=%s\n", 
             oldpkg->name, oldpkg->local_filename, newpkg->local_filename);
      if (!oldpkg->local_filename)
-         oldpkg->local_filename = str_dup_safe(newpkg->local_filename);
+         oldpkg->local_filename = xstrdup(newpkg->local_filename);
      if (!oldpkg->tmp_unpack_dir)
-         oldpkg->tmp_unpack_dir = str_dup_safe(newpkg->tmp_unpack_dir);
+         oldpkg->tmp_unpack_dir = xstrdup(newpkg->tmp_unpack_dir);
      if (!oldpkg->md5sum)
-         oldpkg->md5sum = str_dup_safe(newpkg->md5sum);
+         oldpkg->md5sum = xstrdup(newpkg->md5sum);
 #if defined HAVE_SHA256
      if (!oldpkg->sha256sum)
-         oldpkg->sha256sum = str_dup_safe(newpkg->sha256sum);
+         oldpkg->sha256sum = xstrdup(newpkg->sha256sum);
 #endif
      if (!oldpkg->size)
-         oldpkg->size = str_dup_safe(newpkg->size);
+         oldpkg->size = xstrdup(newpkg->size);
      if (!oldpkg->installed_size)
-         oldpkg->installed_size = str_dup_safe(newpkg->installed_size);
+         oldpkg->installed_size = xstrdup(newpkg->installed_size);
      if (!oldpkg->priority)
-         oldpkg->priority = str_dup_safe(newpkg->priority);
+         oldpkg->priority = xstrdup(newpkg->priority);
      if (!oldpkg->source)
-         oldpkg->source = str_dup_safe(newpkg->source);
+         oldpkg->source = xstrdup(newpkg->source);
      if (nv_pair_list_empty(&oldpkg->conffiles)){
          list_splice_init(&newpkg->conffiles.head, &oldpkg->conffiles.head);
          conffile_list_init(&newpkg->conffiles);
@@ -956,13 +957,13 @@ char *pkg_version_str_alloc(pkg_t *pkg)
      if (pkg->epoch) {
          sprintf_alloc(&epoch_str, "%d:", pkg->epoch);
      } else {
-         epoch_str = strdup("");
+         epoch_str = xstrdup("");
      }
 
      if (pkg->revision && strlen(pkg->revision)) {
          sprintf_alloc(&revision_str, "-%s", pkg->revision);
      } else {
-         revision_str = strdup("");
+         revision_str = xstrdup("");
      }
 
 
@@ -1223,13 +1224,13 @@ char *pkg_state_want_to_str(pkg_state_want_t sw)
 
      for (i=0; i < ARRAY_SIZE(pkg_state_want_map); i++) {
          if (pkg_state_want_map[i].value == sw) {
-              return strdup(pkg_state_want_map[i].str);
+              return xstrdup(pkg_state_want_map[i].str);
          }
      }
 
      fprintf(stderr, "%s: ERROR: Illegal value for state_want: %d\n",
             __FUNCTION__, sw);
-     return strdup("<STATE_WANT_UNKNOWN>");
+     return xstrdup("<STATE_WANT_UNKNOWN>");
 }
 
 pkg_state_want_t pkg_state_want_from_str(char *str)
@@ -1257,7 +1258,7 @@ char *pkg_state_flag_to_str(pkg_state_flag_t sf)
      sf &= SF_NONVOLATILE_FLAGS;
 
      if (sf == 0) {
-         return strdup("ok");
+         return xstrdup("ok");
      } else {
 
          for (i=0; i < ARRAY_SIZE(pkg_state_flag_map); i++) {
@@ -1314,13 +1315,13 @@ char *pkg_state_status_to_str(pkg_state_status_t ss)
 
      for (i=0; i < ARRAY_SIZE(pkg_state_status_map); i++) {
          if (pkg_state_status_map[i].value == ss) {
-              return strdup(pkg_state_status_map[i].str);
+              return xstrdup(pkg_state_status_map[i].str);
          }
      }
 
      fprintf(stderr, "%s: ERROR: Illegal value for state_status: %d\n",
             __FUNCTION__, ss);
-     return strdup("<STATE_STATUS_UNKNOWN>");
+     return xstrdup("<STATE_STATUS_UNKNOWN>");
 }
 
 pkg_state_status_t pkg_state_status_from_str(const char *str)