*: fix places where we were still using malloc/realloc
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 8 Jan 2010 08:07:50 +0000 (09:07 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 8 Jan 2010 08:07:50 +0000 (09:07 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
e2fsprogs/old_e2fsprogs/ext2fs/ext2fs_inline.c
e2fsprogs/old_e2fsprogs/fsck.c
editors/ed.c
editors/sed.c
networking/libiproute/ipaddress.c

index da1cf5be5d9bd5f1d447200250974a5f2136e383..b9aab440a8c1318adc0c8442ee4a3dff3b58d38d 100644 (file)
@@ -50,9 +50,7 @@ errcode_t ext2fs_resize_mem(unsigned long EXT2FS_ATTR((unused)) old_size,
        /* Use "memcpy" for pointer assignments here to avoid problems
         * with C99 strict type aliasing rules. */
        memcpy(&p, ptr, sizeof (p));
-       p = realloc(p, size);
-       if (!p)
-               return EXT2_ET_NO_MEMORY;
+       p = xrealloc(p, size);
        memcpy(ptr, &p, sizeof (p));
        return 0;
 }
index 687938c24c82e95e684f13f4c6cb54257edd5974..c0964f79d15c793a6f87f64773ea034640d9fa83 100644 (file)
@@ -377,8 +377,7 @@ static struct fs_info *create_fs_device(const char *device, const char *mntpnt,
 {
        struct fs_info *fs;
 
-       if (!(fs = malloc(sizeof(struct fs_info))))
-               return NULL;
+       fs = xmalloc(sizeof(struct fs_info));
 
        fs->device = string_copy(device);
        fs->mountpt = string_copy(mntpnt);
@@ -573,10 +572,7 @@ static int execute(const char *type, const char *device, const char *mntpt,
        struct fsck_instance *inst, *p;
        pid_t   pid;
 
-       inst = malloc(sizeof(struct fsck_instance));
-       if (!inst)
-               return ENOMEM;
-       memset(inst, 0, sizeof(struct fsck_instance));
+       inst = xzalloc(sizeof(struct fsck_instance));
 
        prog = xasprintf("fsck.%s", type);
        argv[0] = prog;
index 9ce8bead109565a08e2aed038235797a99598551..516b8d78de5e4a14398f8397c8a6c81fd5a35281 100644 (file)
@@ -454,11 +454,7 @@ static void subCommand(const char *cmd, int num1, int num2)
                 * structure and use that.  Link it in in place of
                 * the old line structure.
                 */
-               nlp = malloc(sizeof(LINE) + lp->len + deltaLen);
-               if (nlp == NULL) {
-                       bb_error_msg("can't get memory for line");
-                       return;
-               }
+               nlp = xmalloc(sizeof(LINE) + lp->len + deltaLen);
 
                nlp->len = lp->len + deltaLen;
 
@@ -712,12 +708,7 @@ static int readLines(const char *file, int num)
 
                if (bufUsed >= bufSize) {
                        len = (bufSize * 3) / 2;
-                       cp = realloc(bufBase, len);
-                       if (cp == NULL) {
-                               bb_error_msg("no memory for buffer");
-                               close(fd);
-                               return FALSE;
-                       }
+                       cp = xrealloc(bufBase, len);
                        bufBase = cp;
                        bufPtr = bufBase + bufUsed;
                        bufSize = len;
@@ -872,11 +863,7 @@ static int insertLine(int num, const char *data, int len)
                return FALSE;
        }
 
-       newLp = malloc(sizeof(LINE) + len - 1);
-       if (newLp == NULL) {
-               bb_error_msg("failed to allocate memory for line");
-               return FALSE;
-       }
+       newLp = xmalloc(sizeof(LINE) + len - 1);
 
        memcpy(newLp->data, data, len);
        newLp->len = len;
index 19e768355910d1e80bfea3401372985a290a4c94..fd9dd1be6fcceb6723a2b98b86be1c007b1404e4 100644 (file)
@@ -1094,7 +1094,7 @@ static void process_files(void)
                        /* append next_line, read new next_line. */
                        }
                        len = strlen(pattern_space);
-                       pattern_space = realloc(pattern_space, len + strlen(next_line) + 2);
+                       pattern_space = xrealloc(pattern_space, len + strlen(next_line) + 2);
                        pattern_space[len] = '\n';
                        strcpy(pattern_space + len+1, next_line);
                        last_gets_char = next_gets_char;
index c450c6a9f77125b5ed33fe3b94d7d5e8b432f8ba..03f5073fbb69e59f5b492f60d7dff1a5934ce0ee 100644 (file)
@@ -97,9 +97,8 @@ static void print_queuelen(char *name)
 static NOINLINE int print_linkinfo(const struct nlmsghdr *n)
 {
        struct ifinfomsg *ifi = NLMSG_DATA(n);
-       struct rtattr * tb[IFLA_MAX+1];
+       struct rtattr *tb[IFLA_MAX+1];
        int len = n->nlmsg_len;
-       unsigned m_flag = 0;
 
        if (n->nlmsg_type != RTM_NEWLINK && n->nlmsg_type != RTM_DELLINK)
                return 0;
@@ -130,22 +129,27 @@ static NOINLINE int print_linkinfo(const struct nlmsghdr *n)
                printf("Deleted ");
 
        printf("%d: %s", ifi->ifi_index,
-               tb[IFLA_IFNAME] ? (char*)RTA_DATA(tb[IFLA_IFNAME]) : "<nil>");
-
-       if (tb[IFLA_LINK]) {
-               SPRINT_BUF(b1);
-               int iflink = *(int*)RTA_DATA(tb[IFLA_LINK]);
-               if (iflink == 0)
-                       printf("@NONE: ");
-               else {
-                       printf("@%s: ", ll_idx_n2a(iflink, b1));
-                       m_flag = ll_index_to_flags(iflink);
-                       m_flag = !(m_flag & IFF_UP);
+               /*tb[IFLA_IFNAME] ? (char*)RTA_DATA(tb[IFLA_IFNAME]) : "<nil>" - we checked tb[IFLA_IFNAME] above*/
+               (char*)RTA_DATA(tb[IFLA_IFNAME])
+       );
+
+       {
+               unsigned m_flag = 0;
+               if (tb[IFLA_LINK]) {
+                       SPRINT_BUF(b1);
+                       int iflink = *(int*)RTA_DATA(tb[IFLA_LINK]);
+                       if (iflink == 0)
+                               printf("@NONE: ");
+                       else {
+                               printf("@%s: ", ll_idx_n2a(iflink, b1));
+                               m_flag = ll_index_to_flags(iflink);
+                               m_flag = !(m_flag & IFF_UP);
+                       }
+               } else {
+                       printf(": ");
                }
-       } else {
-               printf(": ");
+               print_link_flags(ifi->ifi_flags, m_flag);
        }
-       print_link_flags(ifi->ifi_flags, m_flag);
 
        if (tb[IFLA_MTU])
                printf("mtu %u ", *(int*)RTA_DATA(tb[IFLA_MTU]));
@@ -382,12 +386,10 @@ static int FAST_FUNC store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr
        struct nlmsg_list *h;
        struct nlmsg_list **lp;
 
-       h = malloc(n->nlmsg_len+sizeof(void*));
-       if (h == NULL)
-               return -1;
+       h = xzalloc(n->nlmsg_len + sizeof(void*));
 
        memcpy(&h->h, n, n->nlmsg_len);
-       h->next = NULL;
+       /*h->next = NULL; - xzalloc did it */
 
        for (lp = linfo; *lp; lp = &(*lp)->next)
                continue;