From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS6130 216.105.38.0/24 X-Spam-Status: No, score=-3.2 required=3.0 tests=BAYES_00,DKIM_ADSP_ALL, DKIM_INVALID,DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 8C6F91F8C8 for ; Wed, 6 Oct 2021 21:35:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Cc:Reply-To:From:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version: Content-Type:Message-ID:Date:To:Sender:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=463/bwx5rk13avfYUPR5MLoaBTg+aydq+Rj4OYGFXAM=; b=X/KvkSML5vezJOi2b6KfvfHnvZ CuArx8gxnMgK3u2KxjFQW6I/pGg9YbNkE5hFk0G25hSHNoPSiHull08EBJ57nLEX0HJjmudRIbEso oHFgIoEmV1zwtckIvusyT8A4/ippPTSrqp/WpELQqjQTqo+3rtqdQxndUcl2x9FiJ4B4=; Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.92.3) (envelope-from ) id 1mYEZG-0003KG-Sr; Wed, 06 Oct 2021 21:35:14 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) (envelope-from ) id 1mYEZF-0003K9-HU for sox-devel@lists.sourceforge.net; Wed, 06 Oct 2021 21:35:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=MIME-Version:Content-Type:Message-ID:Date:Subject: To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=p+yIfZ9fy/AMY042Z0fTUHsXJXAqSbpw4ayyJgSJZYM=; b=YwBgL/NWCrNvCldXAJunH0Rz6l fOVNthHyQEhKAXXszlj2gM/wrhDtQA4Pyw8dwUiV8T0IVWN1zfvrh02HvYEktZ+g9ARBlCzlCzAzU bXPsHsG0Vugd9lL9ljOVhi4jLGSf/N/ETbSk1cxqhzM+GmDeuNgsNXRsOfBfPLrGQFKc=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=MIME-Version:Content-Type:Message-ID:Date:Subject:To:From:Sender:Reply-To :Cc:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=p+yIfZ9fy/AMY042Z0fTUHsXJXAqSbpw4ayyJgSJZYM=; b=Y O+gP4vQ3q8Ev9x56FLKnEsi/MgSRilbg3MkExyFtsp9zAq+5V+TAiQFmytpf5mpHjGNbGyHBmImiN jaznwGvIeqtRic/9DkK59cf98m7egc9xo1MXm9AchtNZvnJzwUGcnwzx7G7XyH0xjr7Rylezuou3A FUP6ugkYVT6OIsc4=; Received: from mx0b-001a0901.pphosted.com ([67.231.152.111]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) id 1mYEZD-0000lM-7R for sox-devel@lists.sourceforge.net; Wed, 06 Oct 2021 21:35:13 +0000 Received: from pps.filterd (m0074899.ppops.net [127.0.0.1]) by mx0b-001a0901.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 196HNgav017388 for ; Wed, 6 Oct 2021 14:44:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=logmein.com; h=from : to : subject : date : message-id : content-type : mime-version; s=email; bh=p+yIfZ9fy/AMY042Z0fTUHsXJXAqSbpw4ayyJgSJZYM=; b=VolSdVrFRgfOJveFskj8FpVXHHOPbGM7cldWap/IayCQ/pmNJT7Qz9gHBULWM1gFDmj1 zMIGFrZuLWwFQ4KiQOO5Bcw1QErvVLm0CUqsNPTlAc1BdN4MVvp556ZPCTFdfev1yKJM ig2tagRm984XHPw8uLNUWDBBzvSZ2LiN/TI= Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by mx0b-001a0901.pphosted.com with ESMTP id 3bhg5p0cwa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 06 Oct 2021 14:44:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IaYQKhX7SW0yXOr5KwRHwMaNw2TecKvBUht5axjsi41czPlJ6HEd1t5BdKbM2X0hVETlIcl8NjuTpkyS/2U1+HZR7lh6xLZw4QwtFeB2bSEHHRCBU7hf+/0Ni2sQPQ55amW4SALJ/k/Pt79fKi5VyND0BljFxuLnIG5cn7oBIjsxc4SZJvIwASA3GVut7w+S6SxeIB2s9oURey58JL5X/1+rrLweYTmxoJiSL6xCHbFAqcVmE+4h9rpBhXvbH1sZyKI6/UjMwD3HBSkeMb7Fxi9PDKNMETPvQ5rGfJCjfzDAOfxfySV7Y3V3oRHoRUDbxd1aAYBXdtiVlwFnIEV8nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=p+yIfZ9fy/AMY042Z0fTUHsXJXAqSbpw4ayyJgSJZYM=; b=jY5h2qpTFpfuhfs5/N85mRZKCJp4u8/jWfCP6+oJzvcIPvR0MpAHy1c1IkRWmiaod08UG0OnxsNXoZfWBSC2Rmu5UIE9tpEBXHB5N23/EZ/1w0i+eNK+p0wDqig1tcWgh7SmhVOZl5qRNqDGGDhDFHAnXUO4n/aPi98p0Aacq9EdbA8+n0wEWNn5NdajL/ai2sXA7iqGfQKcMNeMXD/LclGYBrhxyC6d/ll0+xLONgp/VHxGvHrGd6p2UzvYX1zYQnFFgsqGSv8s6aglP9SC2RwaN0UEtaDe94314+q4uYkwwzdTZ9iKJXPa+mRm3XOQfyj7lXv09dN1IUQcgTXZqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=logmein.com; dmarc=pass action=none header.from=logmein.com; dkim=pass header.d=logmein.com; arc=none Received: from CO1PR15MB4890.namprd15.prod.outlook.com (2603:10b6:303:e1::8) by MW4PR15MB4746.namprd15.prod.outlook.com (2603:10b6:303:10b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Wed, 6 Oct 2021 18:44:21 +0000 Received: from CO1PR15MB4890.namprd15.prod.outlook.com ([fe80::40ad:43c3:ed52:168c]) by CO1PR15MB4890.namprd15.prod.outlook.com ([fe80::40ad:43c3:ed52:168c%7]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 18:44:20 +0000 To: "sox-devel@lists.sourceforge.net" Thread-Topic: [PATCH] formats: disallow seeking in dynamic memory buffers Thread-Index: AQHXut2bsMYCM6ECI0yIHO1ZnUar6Q== Date: Wed, 6 Oct 2021 18:44:20 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: suggested_attachment_session_id: e9a78bcc-6d5b-cad5-c376-5e5333acd693 authentication-results: lists.sourceforge.net; dkim=none (message not signed) header.d=none; lists.sourceforge.net; dmarc=none action=none header.from=logmein.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 62abb80d-c6b4-4bfc-4af6-08d988f94f58 x-ms-traffictypediagnostic: MW4PR15MB4746: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fnKxx+CNnLa2wHuF671+k3+00qv6UV2NH8D12tWTEbT7afRVRfV9IWsK2DUHopLGZZVz/hIiBYT/pNKEytnxMhW2Q4Hs2DKjAOpdQZfACz6AFg+N3bzsU7bSl9XvnbMo8vQpAPXVAoFeD8paax3VfWZdHl02gJ+kZ2AWmTxOblqurUZcmq6ItWzdgyqB+PWdKY/u6Ufjx9flC4/lYY+78g3cky3DMk0B9RQLCGZAfOFaheVmjZOsEizFJjw5G/xaHX0CQKFBRMSg+00QbHVOV5O2ARB8JX5LJSpkH4wr4M5vs4zEkKFJCymi4IK43+xIBzfSYMZRlqBtGWqVkk9SGutTEFoNLSZMiN2het/l6BgBQdndoHOE13EIkxbHQO4bng7JMBewwHZCM62Y5C5McTBeaGgdz89khcX8l8R7YuFrcxAIQKuhHPYbpdtX7W6wXyRMgzRNJAhj+urgQ62HJ1Yjv4oIZUW0WtFoCzpT25K+Wv57mEQlgD0TJluO7Ux9ISjBFKrL4fSIDVBRceecr8mUTSqWWdcnyhGEZA9vG9t+ziPoXH7jTu5CNMTOPgPwBkQYL1ZPYeYZSDZqJGiPPH1bwl5B1MNxEbnFV2qMopWdMY6lHTvL7HXkIcIjyzJ2fVfCAlGL4u+A/k3+15w73MWTAtU5YRr9aqDsrxadxj1+tnzUGGQkefziwi5nUkcZk0AOkTA56wR5va/kVultUQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR15MB4890.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(122000001)(64756008)(33656002)(91956017)(66946007)(52536014)(99936003)(55016002)(6916009)(83380400001)(9686003)(7696005)(66556008)(38070700005)(76116006)(66446008)(66476007)(38100700002)(5660300002)(71200400001)(2906002)(316002)(26005)(6506007)(86362001)(186003)(8676002)(8936002)(508600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?gB/yG+Ege2XVvGRYqZqMbG6LQ73iR3rD3PHnnikdADkm0GXoRWcN/Mhqx2?= =?iso-8859-1?Q?M+BuYREEC9ouIygauoKMLnvoG/0k4PsoTKQlnPWrIkLI7Dq/pQBuODJiQW?= =?iso-8859-1?Q?PvgbEyz13H0jvBE/g/GFA0cxEVh/Nfs+Rs0onFGKjSZrKcPDEeLXtlePce?= =?iso-8859-1?Q?2QvdvenAFZ+5ZtPro0I/fzErpneVhiOtg4ePU6Snb7jW77NLoDZRqS/kfN?= =?iso-8859-1?Q?NozWJgKakeF6/N30ZgKJXnZ2lm0yLz4xjfwOWuj1AXrGFHK6dysAbBI032?= =?iso-8859-1?Q?u8MaFF+yKz3/NtWAndEAZgn0ScH/+yCiDoNgFYMia72kE85fxB/Tl8kwTx?= =?iso-8859-1?Q?l6hE6p35JtrkDfRdC57Tjukt0LnBvFm21YR/ZOQGBt+/SrQUf6tR9RrLqJ?= =?iso-8859-1?Q?kFRNH8wLpbdew95FI3DCYr+PED0+XvoQSrGoBSBqKEpm5I5DFNKpY7ysDw?= =?iso-8859-1?Q?KqTtxUVrtzXGZDZizzkfo3t18hx5eMsCk+Rl4tj3HULwy23xpze4r4ELqi?= =?iso-8859-1?Q?WQEmirAr43IWPrT6PXxggXc43mmoX6DQ6abvnI1cZcucKG2QCLbXGqn8Yc?= =?iso-8859-1?Q?jLFH8y7aLe6uQzHf0b7hZnQSxd/GItujVYbpAX2RU5EkL9LbM5mMW/MkOr?= =?iso-8859-1?Q?v0N95Qz3Wpt/UY9f42Vm3amNGM17+zEWRH9G1xc87tJBsIniUesDJagInH?= =?iso-8859-1?Q?vBp/Syn2uVYfLMJaiPRYoz0VTP2OTMzYv+g2JGoSBQix35cJyID5P8di4m?= =?iso-8859-1?Q?DRMuCUaWpwvhoaATk7v1A4Jsh+kRUAf5JqeEZU0sNxz77Vzag/WThqMTv5?= =?iso-8859-1?Q?qOqO3YotSp8R0EiKRXBt4zNSEWPFRLtUhvNy5VRAAvCXO2STYAZBn4bCrI?= =?iso-8859-1?Q?agx5rSFeYNe3hNHfqAD1NrVTuWG/nr5IHpVWgi5kxPKZw1b4qpFvs+Dojd?= =?iso-8859-1?Q?FZuO0wb2pQqI8ruvZy/vlFJEqN1UyQuIo21VH+EpplHGbAMLYSiwDtQuog?= =?iso-8859-1?Q?vOfeyZf75RlBSM5esOBYFXJowSNseBvTC9/DgeQTHw9dBQCaN/yrApENh2?= =?iso-8859-1?Q?n0GQ2QcL0xLlFJlN9otV/ZsgAejWlkq+k0awSi5zPcmN5w0WgMZnAjDHhK?= =?iso-8859-1?Q?qvJV3t4VxPTsd0CCUCXyfZqnz+7aJs76bLDX2w+tzBt6WAvu9byZVTzCDH?= =?iso-8859-1?Q?szGXmzbKgTydketEIZCapjtWXkRCrEmzSEi1WxRlLb8TIt9yFSjFVGewy5?= =?iso-8859-1?Q?pM3W0qeyh8m3f0n9vQUGBItZZ8+H7nRDqhD9AqC/YlrIZuy/Vh8yF4x6Du?= =?iso-8859-1?Q?1GU9VL0Fm35c1l46g2rYI1T4cySgxQ39YHvkr3duMJc7cGI=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_" MIME-Version: 1.0 X-OriginatorOrg: logmein.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR15MB4890.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62abb80d-c6b4-4bfc-4af6-08d988f94f58 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 18:44:20.8031 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84c4e5b0-26a0-4dac-b686-301d76713569 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MKpTJikEf+pV4n6mQnpbIgiOHuMGPKZxoAn9Smrvu/4GfsJ1g0FOv9n6zP+CWRC3NrZkqUceW6xdA2Rv5eXOia/QHmCessIn2kPMsGZOcq0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR15MB4746 X-Proofpoint-GUID: NqbmAtvZSZ_P7DkXdGfPgglc-F2AfYuE X-Proofpoint-ORIG-GUID: NqbmAtvZSZ_P7DkXdGfPgglc-F2AfYuE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-10-06_04,2021-10-06_01,2020-04-07_01 X-Proofpoint-Spam-Reason: safe X-Headers-End: 1mYEZD-0000lM-7R Subject: [PATCH] formats: disallow seeking in dynamic memory buffers X-BeenThere: sox-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sven Neumann via SoX-devel Reply-To: sox-devel@lists.sourceforge.net Cc: Sven Neumann Errors-To: sox-devel-bounces@lists.sourceforge.net --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=0A= =0A= in one of our internal applications we are using SoX (the 14.4.2+git2019042= 7 version from Ubuntu) to convert from a variety of audio formats to the WA= V file format. We observed that the tests for the conversion occasionally f= ailed and over the last days I found time to dig deeper into this.=0A= =0A= We are using sox_open_memstream_write() to write to a dynamically allocated= in-memory stream. In our tests sometimes the size of the resulting WAV buf= fer would have the expected size, sometimes it would be 44 bytes, the size = of the WAV header. Valgrind told me that the behavior of is_seekable() in f= ormats.c depends on uninitialized memory. In your git repository I found a = fix for this:=0A= =0A= commit bb38934e11035c8fab141f70dabda3afdd17da36=0A= Author: Mans Rullgard =0A= Date: Tue Aug 4 17:19:49 2020 +0100=0A= =0A= format: improve is_seekable() test=0A= =0A= Streams opened with fmemopen() do not have an underlying file descripto= r,=0A= so the fstat() will fail, and a random result is returned.=0A= =0A= A simpler method that works regardless of file type is to call fseek()= =0A= and check if it reports success.=0A= =0A= Suggested by Stefan Sauer .=0A= =0A= =0A= Now with this fix applied valgrind was happy, however now our conversion fr= om MP3 to WAV would always result in only 44 bytes, as read from the buffer= _size_ptr location passed to sox_open_memstream_write(). It turns out that = with above change the undefined behavior is fixed for streams created with = open_memstream() and is_seekable() will now reliably returns sox_true for s= uch streams. This allows the WAV writer code to do an fseek() to the start = of the stream followed by a write of the WAV header with correct length inf= ormation. However such a seek followed by a write causes the dynamically al= located memory stream to be truncated. Thus after calling sox_close() the s= ize reported for the stream will be 44 bytes, that's not what we want. Unfo= rtunately we can not simply fix this by reporting the full buffer size as t= he buffer will actually have been truncated, and a trailing null byte is ap= pended after the WAV header. It looks like we can indeed not seek and fix d= ata in a dynamically allocated stream. Thus I am attaching a patch that cha= nges the code in formats.c to set ft->seekable to false for streams opened = with open_memstream(). With this change applied on top of the improvement f= or the is_seekable() test, our tests pass reliably and valgrind seems happy= as well.=0A= =0A= I am attaching the patch here, please consider it for inclusion. I am also = attaching a simple test application that writes to a stream, seeks to the f= ront and performs another write. The output of this program illustrates tha= t the buffer is truncated:=0A= =0A= buf =3D `hello', size =3D 5=0A= buf =3D `hello, world', size =3D 12=0A= buf =3D `heyho', size =3D 5=0A= =0A= =0A= Regards,=0A= Sven=0A= =0A= =0A= --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_ Content-Type: text/x-patch; name="0001-formats-disallow-seeking-in-dynamic-memory-buffers.patch" Content-Description: 0001-formats-disallow-seeking-in-dynamic-memory-buffers.patch Content-Disposition: attachment; filename="0001-formats-disallow-seeking-in-dynamic-memory-buffers.patch"; size=1008; creation-date="Wed, 06 Oct 2021 18:31:57 GMT"; modification-date="Wed, 06 Oct 2021 18:31:57 GMT" Content-Transfer-Encoding: base64 RnJvbSA5YTkwNDg0ZDZjN2UyM2NlNzA5ZTVlMzRlZWMyYWVjNjJiNmQ0Y2JjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdmVuIE5ldW1hbm4gPHN2ZW4ubmV1bWFubkBsb2dtZWluLmNv bT4KRGF0ZTogV2VkLCA2IE9jdCAyMDIxIDE3OjM2OjI2ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Zm9ybWF0czogZGlzYWxsb3cgc2Vla2luZyBpbiBkeW5hbWljIG1lbW9yeSBidWZmZXJzCgpTZWVr aW5nIGluIGEgZHluYW1pYyBtZW1vcnkgYnVmZmVyIHN0cmVhbSBhcyBwcm92aWRlZCBieQpvcGVu X21lbXN0cmVhbSgpIHRydW5jYXRlcyB0aGUgbWVtb3J5IGJ1ZmZlci4gU2Vla2luZyBiYWNrIHRv CnRoZSBzdGFydCBvZiB0aGUgZmlsZSB0byB3cml0ZSBhIGhlYWRlciB3aWxsIGxlYXZlIHRoZSB1 c2VyCndpdGgganVzdCB0aGUgaGVhZGVyIHRoZW4uCi0tLQogc3JjL2Zvcm1hdHMuYyB8IDMgKyst CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2Zvcm1hdHMuYyBiL3NyYy9mb3JtYXRzLmMKaW5kZXggM2ZjZjQzODIuLjQ1Y2E3 OWNhIDEwMDY0NAotLS0gYS9zcmMvZm9ybWF0cy5jCisrKyBiL3NyYy9mb3JtYXRzLmMKQEAgLTkz Miw3ICs5MzIsOCBAQCBzdGF0aWMgc294X2Zvcm1hdF90ICogb3Blbl93cml0ZSgKICAgICAgIGxz eF9mYWlsKCJDYW4ndCBzZXQgd3JpdGUgYnVmZmVyIik7CiAgICAgICBnb3RvIGVycm9yOwogICAg IH0KLSAgICBmdC0+c2Vla2FibGUgPSBpc19zZWVrYWJsZShmdCk7CisgICAgLyogRG8gbm90IGFs bG93IHNlZWtpbmcgaW4gZHluYW1pYyBtZW1vcnkgYnVmZmVycyBhcyB0aGF0IHdvdWxkIHRydW5j YXRlIHRoZSBidWZmZXIuICovCisgICAgZnQtPnNlZWthYmxlID0gKGJ1ZmZlcl9wdHIgJiYgIWJ1 ZmZlcikgPyBzb3hfZmFsc2UgOiBpc19zZWVrYWJsZShmdCk7CiAgIH0KIAogICBmdC0+ZmlsZXR5 cGUgPSBsc3hfc3RyZHVwKGZpbGV0eXBlKTsKLS0gCjIuMjUuMQoK --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_ Content-Type: text/x-csrc; name="test.c" Content-Description: test.c Content-Disposition: attachment; filename="test.c"; size=464; creation-date="Wed, 06 Oct 2021 18:38:53 GMT"; modification-date="Wed, 06 Oct 2021 18:38:53 GMT" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQKbWFpbiAodm9pZCkKewogIGNoYXIgKmJwOwogIHNpemVf dCBzaXplOwogIEZJTEUgKnN0cmVhbTsKCiAgc3RyZWFtID0gb3Blbl9tZW1zdHJlYW0gKCZicCwg JnNpemUpOwogIGZwcmludGYgKHN0cmVhbSwgImhlbGxvIik7CiAgZmZsdXNoIChzdHJlYW0pOwog IHByaW50ZiAoImJ1ZiA9IGAlcycsIHNpemUgPSAlbGRcbiIsIGJwLCBzaXplKTsKICBmcHJpbnRm IChzdHJlYW0sICIsIHdvcmxkIik7CiAgZmZsdXNoIChzdHJlYW0pOwogIHByaW50ZiAoImJ1ZiA9 IGAlcycsIHNpemUgPSAlbGRcbiIsIGJwLCBzaXplKTsKICBmc2VlayAoc3RyZWFtLCAwLCBTRUVL X1NFVCk7CiAgZnByaW50ZiAoc3RyZWFtLCAiaGV5aG8iKTsKICBmY2xvc2UgKHN0cmVhbSk7CiAg cHJpbnRmICgiYnVmID0gYCVzJywgc2l6ZSA9ICVsZFxuIiwgYnAsIHNpemUpOwogIAogIHJldHVy biAwOwp9Cgo= --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ SoX-devel mailing list SoX-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sox-devel --_003_CO1PR15MB4890C2072EF9A67BB29DB6E08CB09CO1PR15MB4890namp_--