From patchwork Tue Jul 4 23:26:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 42443 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1e:b0:12b:9ae3:586d with SMTP id c30csp5401157pzh; Tue, 4 Jul 2023 16:26:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlHPAN8WX1WDK4Ch0/TfEGr1fMsxeCMaLY5SwvMqGZsKtNZ2cFlY8YjfleL2MhO/Vo5y0Pj0 X-Received: by 2002:adf:cd07:0:b0:30f:c012:b529 with SMTP id w7-20020adfcd07000000b0030fc012b529mr19445977wrm.56.1688513198828; Tue, 04 Jul 2023 16:26:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688513198; cv=none; d=google.com; s=arc-20160816; b=Eqoz7wsRXh2V4Z/dIbYaUeRV1m4Thk9gemdkRmircmNB/f8FDX+Anq/196frPema8n 0jnVpdZIQcX3uID6MtVHonSq2bRmlg2ZH84D3Ot2GX1W4NbaBbu73lkWoAbqlKk3lkqY UhJx93LIJTGxfNA2qIRuEcgCbaOYMOoKw6QAwhzcvrXGaWZWA/Wuojl7h8FMdEPOulFR AK0gMTEjfWRDWyWbdDzvwVd0h2myQXVYqN0QCcV7dksxRp6UWSmjffppqbTkC7YPJyM3 h+Xp5Y853GnvyVWA+5woHv1y5OWuopU9K437aB3m3FRthfRnMoEONEAXpCzcWLPdxraf ryjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=+v/2+APaGFSHSz2kE92XZrbr/+O6K8/eF2DUphJq154=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Va8pqpL1NKphtcVItM2cPdZxPPtUUx2ZpAByg2YWLD2Cvd1Ohao1GRUED0NG6RXzhn D3yEDLMm2VbPkotxIYZhcbM57+g8yPaKGGX5UnhT+2SmmDrw7z1elAOrEjnczEDjIEiC D/oDFkE9l327xLc2Q/zi9W09Q+RNc+nmxEcexz/azscUguiJYxbPQm7InSzdUKBuYtP/ AeYKlIWRNhFmBoyF+myImdtIK+N9hWRUGX+WHnjF3l2pgXhb3l0/Zl6F/26gaDmnaupF LExT6mHUy/SYtilswwQdqtWm0q9OV4M31b334UWrsJaGnmKDA+BHBA0lDxD/vZD2gNyy BrSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=LPWXuoSy; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j1-20020aa7c401000000b0051dd585e8dcsi4985190edq.479.2023.07.04.16.26.38; Tue, 04 Jul 2023 16:26:38 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=LPWXuoSy; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C45FF68C644; Wed, 5 Jul 2023 02:26:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5E01B68C618 for ; Wed, 5 Jul 2023 02:26:28 +0300 (EEST) Received: by mail-oi1-f172.google.com with SMTP id 5614622812f47-3942c6584f0so4143076b6e.3 for ; Tue, 04 Jul 2023 16:26:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688513186; x=1691105186; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=ivzggAa5WKHkoQORz9F2hrpXenvLKGO1sO7rA55WgU8=; b=LPWXuoSy1Y28dhauEUhLSoCbLhge2aCEkWlthbCM2N8BGUDUGgT0AetGwTQIWE23AL VabbXCbGJspXxjHUg9bbyXE6wpxGRkypnfbYqh/OUZtA0RuKbef/6hn33a+CvsNTxmq0 pFeJv1DPZ4hHxQ/NvuM+hqudgq2kvy1RMUmsTbeh6X0i7T1Rd74k3r5s0Bp1jXbm109G Vl5l/JWww25yljuNr9YPcVy0pef8A0S0l3b3Sh1jnH4g9lLCjf03RpEbGT6WPbhSo3Ez K+EHlpgIONaBMJl4uq49eK51bzyqhzGvb5NHDj3W7mAn2ucbP6ADIRyZEIf/zagVFRFF KlRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688513186; x=1691105186; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ivzggAa5WKHkoQORz9F2hrpXenvLKGO1sO7rA55WgU8=; b=P11O5X7qngAeItmMeHC1O3FyPVANwvChQPvxIPSWt23yhYM1UfjJpgAFIt1syqzf8M kEd5H49KDNotzghnKZylzPq/hM+icShX+ntPVDKRD+6mwJ6uXbAVTEPO4bHxAsUfNons JB0om6dWkX/j0nVaI1i1pfSbI81fOn6vnaDbelDLR8CFidWzvHkYUfXKdJQLpwau7y7r jHUPV04NTkbE0zfIrsgEDwPkLZ/rFo5NXyc1DWmd1kKsdjP47jmgwktbtQ8508qoeaEO ZlJxVDeiFlsMPkhs9Avt5j19D36Rvt/xJ3QjtYbDc1bVWZhO9fGZSoWs/rogJYQ01vYF 4a4Q== X-Gm-Message-State: ABy/qLb25PxhBG/xLiqtZOr6cHKYFXUedtqT6iG7/fIwz1E/mWu0BFDl hJ/7RuxXgc3+o3NGZV9YDQM0xi5HC2U= X-Received: by 2002:a05:6871:4795:b0:1b3:8285:153e with SMTP id qa21-20020a056871479500b001b38285153emr8909030oab.44.1688513185783; Tue, 04 Jul 2023 16:26:25 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id er28-20020a056870c89c00b0019ed19a8659sm14507303oab.8.2023.07.04.16.26.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jul 2023 16:26:25 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 4 Jul 2023 20:26:12 -0300 Message-ID: <20230704232614.2785-1-jamrial@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 1/3] avutil/random_seed: use fread() in read_random() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8RJkn4PMd6Fb This ensures the requested amount of bytes is read. Also remove /dev/random as it's no longer necessary. Signed-off-by: James Almer --- libavutil/random_seed.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libavutil/random_seed.c b/libavutil/random_seed.c index 66dd504ef0..a51149235b 100644 --- a/libavutil/random_seed.c +++ b/libavutil/random_seed.c @@ -49,17 +49,20 @@ static int read_random(uint32_t *dst, const char *file) { #if HAVE_UNISTD_H - int fd = avpriv_open(file, O_RDONLY); - int err = -1; + FILE *fp = avpriv_fopen_utf8(file, "r"); + size_t err; - if (fd == -1) - return -1; - err = read(fd, dst, sizeof(*dst)); - close(fd); + if (!fp) + return AVERROR_UNKNOWN; + err = fread(dst, 1, sizeof(*dst), fp); + fclose(fp); - return err; + if (err != sizeof(*dst)) + return AVERROR_UNKNOWN; + + return 0; #else - return -1; + return AVERROR(ENOSYS); #endif } @@ -138,9 +141,7 @@ uint32_t av_get_random_seed(void) return arc4random(); #endif - if (read_random(&seed, "/dev/urandom") == sizeof(seed)) - return seed; - if (read_random(&seed, "/dev/random") == sizeof(seed)) + if (!read_random(&seed, "/dev/urandom")) return seed; return get_generic_seed(); }