Oris482 / Minishell

Create own shell(such as bash): by_jaesjeon, minsuki2
1 stars 1 forks source link

BUG : leaks 수정 중... #29

Open Giromi opened 2 years ago

Giromi commented 2 years ago
leaks Report Version: 4.0
Process 28103: 413 nodes malloced for 344 KB
Process 28103: 27 leaks for 688 total leaked bytes.

    27 (688 bytes) << TOTAL >>

      9 (368 bytes) ROOT CYCLE: 0x7fa302504190 [48]
         4 (160 bytes) ROOT CYCLE: 0x7fa3025041c0 [48]
            CYCLE BACK TO 0x7fa302504190 [48]
            3 (112 bytes) ROOT CYCLE: 0x7fa302504250 [48]
               2 (64 bytes) 0x7fa302504150 [48]
                  1 (16 bytes) 0x7fa302504180 [16]  length: 2  "ls"
         2 (96 bytes) ROOT CYCLE: 0x7fa3025041f0 [48]
            CYCLE BACK TO 0x7fa302504190 [48]
            1 (48 bytes) ROOT CYCLE: 0x7fa302504220 [48]
         2 (64 bytes) 0x7fa302504110 [48]
            1 (16 bytes) 0x7fa302504140 [16]  length: 2  "&&"

      1 (32 bytes) ROOT LEAK: 0x7fa302504350 [32]  length: 16  "SIMPLE_CMD[echo]"
      1 (32 bytes) ROOT LEAK: 0x7fa3038043a0 [32]  length: 16  "SIMPLE_CMD[echo]"
      1 (16 bytes) ROOT LEAK: 0x7fa302504100 [16]  length: 4  "echo"
      1 (16 bytes) ROOT LEAK: 0x7fa302504310 [16]  length: 3  "CMD"
      1 (16 bytes) ROOT LEAK: 0x7fa302504320 [16]  length: 4  "echo"
      1 (16 bytes) ROOT LEAK: 0x7fa3025043e0 [16]  length: 14  "SIMPLE_CMD[ls]"
      1 (16 bytes) ROOT LEAK: 0x7fa3025043f0 [16]  length: 2  "ls"
      1 (16 bytes) ROOT LEAK: 0x7fa302504410 [16]  length: 3  "CMD"
      1 (16 bytes) ROOT LEAK: 0x7fa302504430 [16]  length: 7  "AND[&&]"
      1 (16 bytes) ROOT LEAK: 0x7fa302504440 [16]  length: 2  "&&"
      1 (16 bytes) ROOT LEAK: 0x7fa303804150 [16]  length: 4  "echo"
      1 (16 bytes) ROOT LEAK: 0x7fa303804360 [16]  length: 3  "CMD"
      1 (16 bytes) ROOT LEAK: 0x7fa303804370 [16]  length: 4  "echo"
      1 (16 bytes) ROOT LEAK: 0x7fa303804430 [16]  length: 14  "SIMPLE_CMD[ls]"
      1 (16 bytes) ROOT LEAK: 0x7fa303804440 [16]  length: 2  "ls"
      1 (16 bytes) ROOT LEAK: 0x7fa303804460 [16]  length: 3  "CMD"
      1 (16 bytes) ROOT LEAK: 0x7fa303804480 [16]  length: 7  "AND[&&]"
      1 (16 bytes) ROOT LEAK: 0x7fa303804490 [16]  length: 2  "&&"
Giromi commented 2 years ago
minishell$> echo && ls || hello | psdfsdf | efkj && ls

----------- < TREE > --------------

                                  AND[&&]
                                    / \
                                   /   \
                                  /     \
                                 /       \
                                /         \
                             OR[||]       CMD
                              / \           \
                             /   \    SIMPLE_CMD[ls]
                            /     \
                           /       \
                          /         \
                         /           \
                        /             \
                       /               \
                      /                 \
                     /                   \
                    /                     \
                   /                       \
                  /                         \
                 /                           \
                /                             \
            AND[&&]                         PIPE[|]
              / \                             / \
             /   \                           /   \
            /     \                         /     \
           /       \                       /       \
          /         \                     /         \
         /           \                PIPE[|]       CMD
        /             \                 / \           \
       /               \               /   \   SIMPLE_CMD[efkj]
     CMD               CMD            /     \
       \                 \           /       \
SIMPLE_CMD[echo]   SIMPLE_CMD[ls]   /         \
                                   /           \
                                  /             \
                                 /               \
                                /                 \
                               /                   \
                             CMD                   CMD
                               \                     \
                        SIMPLE_CMD[hello]    SIMPLE_CMD[psdfsdf]

-----------------------------------

leaks Report Version: 4.0
Process 34164: 372 nodes malloced for 343 KB
Process 34164: 0 leaks for 0 total leaked bytes.
Giromi commented 2 years ago
void    tree_traversal(t_tree *cur_tree, int tree_type, \
                                void (*handler)(t_tree *))
{
    if (cur_tree == NULL)
        return ;
    // else if (cur_tree->type & tree_type)
    //     handler(cur_tree);
    tree_traversal(cur_tree->left, tree_type, handler);
    tree_traversal(cur_tree->right, tree_type, handler);
    if (cur_tree->type & tree_type)
        handler(cur_tree);
}

밑으로 보내야 조금 더 의미가 맞음 일단 깊숙히 들어가서 내가 원하는 handler로 작업하는게 맞음 작업하고 더 깊이 들어가는 건 조금 이상함.

Oris482 commented 1 year ago
image

와일드카드 사용시마다 릭이 2개씩 늘어나는 현상

* => 2개

*/* => 3개

*/*/* => 4개