1
1

opal/util: fix opal_str_to_bool()

correctly use strlen(char *) instead of sizeof(char *)

Thanks Georg Geiser for reporting this issue.

Refs. open-mpi/ompi#7772

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
Gilles Gouaillardet 2020-05-30 11:26:26 +09:00
родитель d5c4f6b92a
Коммит c450b21405

Просмотреть файл

@ -14,8 +14,8 @@
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2012-2017 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2017 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2020 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2018 IBM Corporation. All rights reserved. * Copyright (c) 2016-2018 IBM Corporation. All rights reserved.
* Copyright (c) 2017-2020 Intel, Inc. All rights reserved. * Copyright (c) 2017-2020 Intel, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -359,13 +359,13 @@ opal_str_to_bool(char *str)
char *ptr; char *ptr;
/* Trim whitespace */ /* Trim whitespace */
ptr = str + sizeof(str) - 1; ptr = str + strlen(str) - 1;
while (ptr >= str && isspace(*ptr)) { while (ptr >= str && isspace(*ptr)) {
*ptr = '\0'; *ptr = '\0';
--ptr; --ptr;
} }
ptr = str; ptr = str;
while (ptr < str + sizeof(str) - 1 && *ptr != '\0' && while (ptr < str + strlen(str) - 1 && *ptr != '\0' &&
isspace(*ptr)) { isspace(*ptr)) {
++ptr; ++ptr;
} }