From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by sourceware.org (Postfix) with ESMTPS id 6BDA0391B45A; Mon, 12 Dec 2022 05:10:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6BDA0391B45A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-x52c.google.com with SMTP id r18so7398144pgr.12; Sun, 11 Dec 2022 21:10:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=1ucVtBjqfSYtACkHKQ9CU95Ze1aG99ochnraO3255wU=; b=XNthkfr225hFG5RRQui99fBhiQC3igTukOaZxVP8K5Va7+K0pl4Z/avLrIejLQKbP2 AeW7grRJoyvPN2t/qyAQMZh3XgXkJje7DrYGOy5+sfPJqskBh2TGPvQztJGKXP1/sJKG 0uVOvcFNF9aDAiw3jLfRriG/ZnYdPRfohA1o2lBu0EJjLR6c1aHQiXyMvqZH89ogQrr5 Aoft+y1P3G59n/gCKMfqg++npqru81bIHsnnL2OOVIbwUNDbqBFslLqYjMu3Doi9jbXI npp+LeIwC8p6705tBmncagBxtQOTqyVFxDdu+dCBDCjF/snYsNAJITalOrIf85E/HaVD Kkbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1ucVtBjqfSYtACkHKQ9CU95Ze1aG99ochnraO3255wU=; b=3fZPeeXuV7LWSeSoYBSFUIWPer7SL3IjLcJlfMPPQx7XDNsp5zxPr5/P+YHKkub3rT UUI4sP8US5l16WyaHKhvo2TTibH888VvBiyBLfn3gtpg+xdbUArTvfv4uw3XB3dFYqYW 1QbGVRoU1FORVUSZWCge8lavHFCx90WSDOpMU8aSm2Dj8j7EownUlZpD9QBoVW69KDYJ UygJHdbeqlT+FU8UuyXPqO3GNDS+9V/GqzbrldJ0N8SDfFvtmTN0VzcIgvSZ+miVuYm4 UWodh8AxQh2uwjA0UVzK8ZQdtbO3VLHV3eU6WAXVKtvehh6dRTg7o6tsVQDMnN9UwU3I 44cA== X-Gm-Message-State: ANoB5pln6FRDTLUOoxK4LcynpenAzvaCwe2rnBlu+fdMoGhrgq69nwTF s/2BbXhxdk1q88iXjOSVDfwgvNsrs2oFW5JgUeOelDxy08SmDg== X-Google-Smtp-Source: AA0mqf4zo/NCZMDOP77tFE+1NzE8DM3HfYMbYVeZYV2x+xRRecTME/Sx2JkNQzHOcdKXBmfZgixNZ8Z6z7EUef3tXUA= X-Received: by 2002:aa7:8d5a:0:b0:560:eec2:d0ab with SMTP id s26-20020aa78d5a000000b00560eec2d0abmr98642872pfe.43.1670821832035; Sun, 11 Dec 2022 21:10:32 -0800 (PST) MIME-Version: 1.0 From: Kavita Gore Date: Mon, 12 Dec 2022 10:40:20 +0530 Message-ID: Subject: Regarding EFBIG error while opening a file using catopen() function To: cygwin@cygwin.com, cygwin-owner@cygwin.com, mailman@cygwin.com, cygwin-developers@cygwin.com, cygwin-developers-owner@cygwin.com Cc: parulsoni799@gmail.com, atulpathare226@gmail.com, rajeshrube@gmail.com Content-Type: multipart/alternative; boundary="000000000000c8129605ef9a85c1" X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000c8129605ef9a85c1 Content-Type: text/plain; charset="UTF-8" Hi all, I'm getting errno 27[EFBIG] file too large while opening catalogue with catopen() function in the cygwin-32bit version. Trying to open a .cat file but catopen() returns a file too large [EFBIG] error. this is the code snippet I was working with: #define FILENAME TEMP.CAT buffer = catopen(FILENAME, 0); if (buffer != (nl_catd) - 1) { printf("File open successfully"); } else { printf("errno: %d\n", errno); } While debugging using gdb.I've found that st.st_size is 0 and As per my understanding struct stat.st_size is declared as off_t, which is most probably signed, and resolves to long (signed by default). So if SIZE_T_MAX does not fit into 2^31-1 (it most probably does not) it will appear as negative in the comparison. I suspect like off_t is supposed to be signed, and size_t is supposed to be unsigned, both according to POSIX. That means, this comparison has definitely a signedness issue. So that's why if condition getting success and returning errno 27(EFBIG). Coding snippet where if condition getting succeed: Msgcat.c: ======= if (st.st_size > SIZE_T_MAX) { _close(fd); SAVEFAIL(name, lang, EFBIG); NLRETERR(EFBIG); } I'd like to know the reason why I'm getting this error and How it can be resolved as it is a blocker in my task. Regards, Kavita. --000000000000c8129605ef9a85c1--