X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Flibiam.c;h=3c1299c8bf0f430de4d631fe5764a2d0ba409ece;hb=c56f7675bfb17b3847b38044153e86550ced3c8e;hp=dafee2fa8aa919a2312fcc7d0c2441360b7412e9;hpb=e08fb10148bfab6b4606f701733decf30aef8a44;p=fs%2Flustre-release.git diff --git a/lustre/utils/libiam.c b/lustre/utils/libiam.c index dafee2f..3c1299c 100644 --- a/lustre/utils/libiam.c +++ b/lustre/utils/libiam.c @@ -1,31 +1,45 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: +/* + * GPL HEADER START + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. * - * libiam.c - * iam user level library + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). * - * Copyright (c) 2006 Cluster File Systems, Inc. - * Author: Wang Di - * Author: Nikita Danilov - * Author: Fan Yong + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf * - * This file is part of the Lustre file system, http://www.lustre.org - * Lustre is a trademark of Cluster File Systems, Inc. + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + * GPL HEADER END + */ +/* + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + * + * Copyright (c) 2014, Intel Corporation. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. * - * You may have signed or agreed to another license before downloading - * this software. If so, you are bound by the terms and conditions - * of that agreement, and the following does not apply to you. See the - * LICENSE file included with this distribution for more information. + * lustre/utils/libiam.c * - * If you did not agree to a different license, then this copy of Lustre - * is open source software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. + * iam user level library * - * In either case, Lustre is distributed in the hope that it will be - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * license text for more details. + * Author: Wang Di + * Author: Nikita Danilov + * Author: Fan Yong */ #include @@ -42,8 +56,8 @@ #include #endif +#include #include -#include #include typedef __u32 lvar_hash_t; @@ -307,7 +321,7 @@ static unsigned char *packdigit(unsigned char *number) unsigned char *area; unsigned char *scan; - area = calloc(strlen(number) / 2 + 2, sizeof(char)); + area = calloc(strlen((char *)number) / 2 + 2, sizeof(char)); if (area != NULL) { for (scan = area; *number; number += 2, scan++) *scan = (hex2dec(number[0]) << 4) | hex2dec(number[1]); @@ -318,7 +332,7 @@ static unsigned char *packdigit(unsigned char *number) static char *iam_convert(int size, int need_convert, char *source) { char *ptr; - char *opt; + unsigned char *opt; if (source == NULL) return NULL; @@ -328,7 +342,7 @@ static char *iam_convert(int size, int need_convert, char *source) return NULL; if (need_convert) { - opt = packdigit(source); + opt = packdigit((unsigned char*)source); if (opt == NULL) { free(ptr); return NULL; @@ -337,7 +351,7 @@ static char *iam_convert(int size, int need_convert, char *source) free(opt); } } else { - strncpy(ptr, source, size + 1); + strlcpy(ptr, source, size + 1); } return ptr;