busybox microcom Segmentation fault

/*********************************************************************************
 *                  busybox microcom Segmentation fault
 * 说明:
 *     调试硬件的时候想用microcom来测试一下串口,结果发现段错误,其他busybox命令正常,
 * 觉得有点奇怪,查看microcom的patch之后发现这个问题已经修复了。
 *
 *                                              2017-10-17 深圳 南山平山村 曾剑锋
 ********************************************************************************/

一、参考文档:
    1. [PATCH] miscutils/microcom: Fixed segfault
        http://lists.busybox.net/pipermail/busybox/2017-August/085720.html

二、解决办法:
    microcom did not check if required parameter TTY is present. Thus,
    bb_basename() was called with a NULL pointer if TTY was missing.
    This commit adds the missing check.
    ---
      miscutils/microcom.c | 5 +++++
      1 file changed, 5 insertions(+)
    
    diff --git a/miscutils/microcom.c b/miscutils/microcom.c
    index 14b9f3baf..38f6425c1 100644
    --- a/miscutils/microcom.c
    +++ b/miscutils/microcom.c
    @@ -78,6 +78,11 @@ int microcom_main(int argc UNUSED_PARAM, char **argv)
      //    argc -= optind;
          argv += optind;
      
    +    if (*argv == NULL){
    +        bb_show_usage();
    +        return EXIT_FAILURE;
    +    }
    +
          // try to create lock file in /var/lock
          device_lock_file = (char *)bb_basename(argv[0]);
          device_lock_file = xasprintf("/var/lock/LCK..%s", device_lock_file);
原文地址:https://www.cnblogs.com/zengjfgit/p/7682351.html