Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2225571/?format=api
{ "id": 2225571, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2225571/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260421075439.16696-6-ravi@prevas.dk/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/1.2/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260421075439.16696-6-ravi@prevas.dk>", "list_archive_url": null, "date": "2026-04-21T07:54:35", "name": "[v2,5/9] lib/string.c: implement strdup() and strndup() in terms of memdup_nul()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b2ae894de974c0ecef3456ebbb8909ad723e458b", "submitter": { "id": 89443, "url": "http://patchwork.ozlabs.org/api/1.2/people/89443/?format=api", "name": "Rasmus Villemoes", "email": "ravi@prevas.dk" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/1.2/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260421075439.16696-6-ravi@prevas.dk/mbox/", "series": [ { "id": 500753, "url": "http://patchwork.ozlabs.org/api/1.2/series/500753/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=500753", "date": "2026-04-21T07:54:32", "name": "add memdup_nul(), use it and memdup() in a few places", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/500753/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2225571/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2225571/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256\n header.s=selector1 header.b=OphC37wS;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=prevas.dk", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=prevas.dk header.i=@prevas.dk header.b=\"OphC37wS\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=prevas.dk", "phobos.denx.de;\n spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=prevas.dk;" ], "Received": [ "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0F623ZNdz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 17:55:54 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id D455984309;\n\tTue, 21 Apr 2026 09:55:23 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 4BDE68436C; Tue, 21 Apr 2026 09:55:07 +0200 (CEST)", "from PA4PR04CU001.outbound.protection.outlook.com\n (mail-francecentralazlp170130007.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c20a::7])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 5319284378\n for <u-boot@lists.denx.de>; Tue, 21 Apr 2026 09:55:05 +0200 (CEST)", "from AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:681::18)\n by GV2PR10MB6233.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:78::14)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Tue, 21 Apr\n 2026 07:54:58 +0000", "from AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM\n ([fe80::ebc6:4e0d:5d6b:95d8]) by AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM\n ([fe80::ebc6:4e0d:5d6b:95d8%6]) with mapi id 15.20.9846.016; Tue, 21 Apr 2026\n 07:54:58 +0000" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=ekcFjXf1vWaOFmZSyVf3k0Ocvibcry9TQonQkZM6a5Zx0p76QnJjTFMY5DC+OKbDB0pmuW1+mTRbWObW7LOqxXi00rvKZQieIc3nfkx1DS+e5nEuolqalejx9nfIbwNYa1ObuTzAudcFhkb453D85SJqepIO2KPeIu5TxF0Cn56CqMYWL+6O+SBO/o3wMvyZ3BAL5gbZQmH+5+DhomFOFtWbvUvevXNZ3MgAg6doZHU8UmTKNAi8nC87+JnMhG5KXXeKgSpAzVG+VFFpOMhkj1So9utzQ2vg+PzOURvIz/Sg452DhVH1Sjo/ejz+MLeviBRQYc8Mt1nmte0n1VAw9w==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=trEjd34YEuV87QLT2Pu3QHXOj9josfyoo02S+8GpvXM=;\n b=JYzZKl/6ff4BP2nmjLzhCGNrihj925yHWJ75l+OUcKL9WTvLDccoLyT3wP25L74IGcwV6Cy2TJviLiwMawVIjRAY2X+p51WX8WQfDBNCjviMYa+aOGa47tDv48S8YNmqMnVHrX12OkD4t06rV363KOHIoPoGNbUIKJPrMZSyAkzogU0dhbvZfMihISdprQHoW1dGIG9r7YGbkBM3gR7O+oyH1UWotRccMXWY5WcHLpnNxSTbAm5XEpUJeyf81XdQr2BQU2ZU2vzBEyxZL5/JPJUQ3KDGFyqDeA6Dpj1JnOHit4b0qU44fnbho+UB0axayqc0QV//lvYyn6q8VyhOog==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk;\n dkim=pass header.d=prevas.dk; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=trEjd34YEuV87QLT2Pu3QHXOj9josfyoo02S+8GpvXM=;\n b=OphC37wS1PmsAgB9RpmKQ+u6Kix7bRNsBaOE4K5Z4Pw5JMkNBsRoDEHIFgf8I0ra71dfUBQDanpe2TGkzHL0I1pDLxW5uu+WUtj8yNxz09oNOKG9Tcc7QzOpB7Hi25JyaDbCdURTCPFt7Mpk9vEYPrs2baNyZEHIGRPT/bv43FI=", "From": "Rasmus Villemoes <ravi@prevas.dk>", "To": "u-boot@lists.denx.de", "Cc": "Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,\n Rasmus Villemoes <ravi@prevas.dk>", "Subject": "[PATCH v2 5/9] lib/string.c: implement strdup() and strndup() in\n terms of memdup_nul()", "Date": "Tue, 21 Apr 2026 09:54:35 +0200", "Message-ID": "<20260421075439.16696-6-ravi@prevas.dk>", "X-Mailer": "git-send-email 2.53.0", "In-Reply-To": "<20260421075439.16696-1-ravi@prevas.dk>", "References": "<20260421075439.16696-1-ravi@prevas.dk>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "CPBP307CA0005.DNKP307.PROD.OUTLOOK.COM (2603:10a6:380:1::8)\n To AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM\n (2603:10a6:20b:681::18)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AS5PR10MB8243:EE_|GV2PR10MB6233:EE_", "X-MS-Office365-Filtering-Correlation-Id": "83c5f356-8c46-4528-5b5d-08de9f7b4896", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|366016|52116014|376014|1800799024|38350700014|56012099003|18002099003|22082099003;", "X-Microsoft-Antispam-Message-Info": "\n Tktb+3qW3b0ZXUp2JIwWhHvgUT17LSy/Bb2a2Vdw3lFGluaoU3j3SkDfabnN4gJdEVwr+/e1VyZp/0DWRySwDsEFLnWzm/zUPkKQV5ItRRSClgzVWERGp6x5hZFxQsCgu06SOndZ+iGTNuCMoA0TX9rlZFbExQ4d+75YOSYeXaEMQJdwua/FOeI28+pzKejWICo8ueYrCEuEZ0FpfZyRSw9lvK0H1sg7pL/K/MLCfdPyADC0xoJQhMK8/x0TUO+tb9IObGXnoatTsCKvUgFb+IpbOnHNSFWCgHXv8NBkN0U5lYMT4pxLOCm8ZafydaEG/oun42Ged//L2S+mILdjbPthmgvoCr69Wv3V4y9pnwFKGV3b7LE8zX6kBQzpJaZ/9diEYi+Z67Nebpuk2+mrcjspkiT/qjBHSZGtFtU0+JD2CmVQWlbC2rDVeYwDfDjkQHgrYVjp3CLK2FRH+FlhIBl/buTuzl+uz3qfoFtWDz2dNQ1vbKmA0YKjA3S8VyaxcghafxYP6Om7dtCPIb7U5yzUMWWxV0nP3KH8ftdIumaHg8/6f1URMFwvcwXoAtg5iWaDh/VdnkWIAayO4CBjxW3JcBGCXfRXrj4RunD7TwxmwRz2Nry2b8NwG9OpHNhwwrxmh2PqqGBMxOnjBF3sPuuWKxv719wHamh7c4Xol/n4otrRgd4OmXyFdoAHJBT3o/euQ3pu+CQlhCb7B9qCyNKoy2UnsTUk+tqGC19yG7Ciy0ysFCb30iKtZkg18Yn+V9MlWcjzc+7TXtBJYISUQyIxEoQ2oXz8PRjVQqifQGw=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014)(56012099003)(18002099003)(22082099003);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n /3E2QRy/Ht66bxzbOhQWz7QdwH3iU0lNHEntrA2Wu5wyP+PScIiUy9N5px3lwz0Ied/2AUuL4Fwme81UL5ehyD1F8xfNSKDVMS4L9zOdxhoWuGl5jMo5EJl584ELYJPaCOip5pxbosTIdj1GHDp3VhlgAUBmaL8BQcLYjlz2PbXBAwBh+bQUwEFhvk/1ILRvicnxu6FGTFjzuLEmikxofV7jZBnUgIt3xO6OX8n4+CSVPO8Qz5lCSDG4d1PnEFlMCyCT0sxk8MTYOIkS72HF10JRS/4CVqhHgri9I/UjoDV2OUurs5ZaPyTq1IEKEOq/F0gQ0uuynodVTe9iyvKQB6to+RGdQnbdPibDEgv458JZKq6AUYAYrG/UsIwqh+UMT3mlzhRiTrxtxXkK/bPGz/vmTEMlposbwyfu/SV10q8q3nmmpBvZKf8QJeOSqpiBQjdIomBOitAb+Z4YeA/57kI6iZS6XN/5gQU9RKZeI/IllFsZZd03qJR5YW0a2cZiC/GrFi2iCY8Ucbt6xa7RlOA1KGdMqkOJKFLtGp3NozHeYLtelnp+xSrZGhsAQsP0ydUC/2puKev+ffhwtUkqcbmDOwWV1SdaX6mAglmGR3rVZBYib0m4trev7uj+tihjBbg6C6jXpVG2CTiMKIDZZzJ5BHcWsol9lZ0uofWu+yGyI+O582qtMhtONunJvRmeTxrkU8ZM0OvGzhjsw8QAxqLH2khUX+aks+ttNSZlaBgMbRwMWKbwvmEIqe2uwlm2VWaXP++1jjyPdvoBhEFattSu7PQeez0uC0OgcJgf9btvRfeMRRfkwcM7iZ1rsX/odTgy8h5FU7m07CSjMjS5hRizrCXeuaS5KLqxt5vBv53ew/oZZELgiRtiQGY6QyeEnvIuY5RmnPgBPE8MxWtLPiJ7WDjWF3Hnm35XkURDGykZJ5gjWo4dr4tLeSgIUP86kJfrZ7Oez019hJXag3SLBRq9WzA8jzPv33eazpd+prR30dwcWpE2Aq2rmJsA5cfOaN63LiLguFQ1d/x9QCQiXAbDFdHclUZJymXXkiTEUvVDZLh92i7tDBbEowplB0UBrqCpQtzkNP4Rj7aCTdOAGwnLnE6lIy0bJ7Qz8kykSg9kN4P2K6ibu3pqAL7H0iq+AOYP4pi6B5JkoYWL2pPDImlvblPmAghll8t1tClW3AglmsSTz2xBgnDvIzliJuK8tf9rjQXFIUgEzEembCbW5jlH2KsPe7FHhLsFPvusu58pm4VfeMmvRPd4lEJ899oHQtPmz1zZC9hbnZVNJK1gGCR/yAh5XHSfgFIgJmlIT/m53paVR3A9BKf4k/ANNGogt/jrpWfE7s3UqjyNEr1tshz83cxNKc/S0148+V0AVf5vRCdXz4CFIP8McRjDZyH36O4t19cPZoUMCVUa8YQUhTkMHJpeJFx1Xe8MgioFFJ+MRpHD4wPtKE+ve9N/s0bNpYCUtOBJ4PlMToNCq/pyEVl+8pgWSU7U9UXZpnnu8qFZEA+d5FTgWIrJf/b7sw6Rl2zRRDOOXlzWeOs4amzI4K84v4L+aHt58EebR11Uh2vojncFdEr0OY1B1nOvqhD88IAR0z0gqzWbutb+qh7qHksdewM9lduA2HCaksMly7e79c+w61kt+RjRuPzo2nwZu7xsdGpFogSPnfZKZF2Yts9vtG7LLQGUdPHzONhVGhdbPyK2UaV9JIvoKu/GcaVmXYgY1tw0qJZoBZ1myi8MI1qI4oMc4O68VTTTMRQbe50=", "X-OriginatorOrg": "prevas.dk", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 83c5f356-8c46-4528-5b5d-08de9f7b4896", "X-MS-Exchange-CrossTenant-AuthSource": "AS5PR10MB8243.EURPRD10.PROD.OUTLOOK.COM", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "21 Apr 2026 07:54:58.1721 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "d350cf71-778d-4780-88f5-071a4cb1ed61", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n o9xesDsQJwgAARTdDKyrKrnoCqTERaG+NqZppEAeDPguYygIsfyQlusDvE0m1lORvUOjk3KgEu+176S3QX7vSYWC+VoKwVTJX4DpTc+bNvA=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV2PR10MB6233", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "With the addition of memdup_nul(), strdup() and strndup() can be\nimplemented as one-liners.\n\nWhile not required by POSIX or C, do keep the behaviour of gracefully\naccepting a NULL source and simply return NULL.\n\nReviewed-by: Simon Glass <sjg@chromium.org>\nSigned-off-by: Rasmus Villemoes <ravi@prevas.dk>\n---\n lib/string.c | 30 ++----------------------------\n 1 file changed, 2 insertions(+), 28 deletions(-)", "diff": "diff --git a/lib/string.c b/lib/string.c\nindex 3923cce5561..5ccd1011ab5 100644\n--- a/lib/string.c\n+++ b/lib/string.c\n@@ -360,38 +360,12 @@ void *memdup_nul(const void *src, size_t len)\n \n char * strdup(const char *s)\n {\n-\tchar *new;\n-\n-\tif ((s == NULL)\t||\n-\t ((new = malloc (strlen(s) + 1)) == NULL) ) {\n-\t\treturn NULL;\n-\t}\n-\n-\tstrcpy (new, s);\n-\treturn new;\n+\treturn s ? memdup_nul(s, strlen(s)) : NULL;\n }\n \n char * strndup(const char *s, size_t n)\n {\n-\tsize_t len;\n-\tchar *new;\n-\n-\tif (s == NULL)\n-\t\treturn NULL;\n-\n-\tlen = strlen(s);\n-\n-\tif (n < len)\n-\t\tlen = n;\n-\n-\tnew = malloc(len + 1);\n-\tif (new == NULL)\n-\t\treturn NULL;\n-\n-\tstrncpy(new, s, len);\n-\tnew[len] = '\\0';\n-\n-\treturn new;\n+\treturn s ? memdup_nul(s, strnlen(s, n)) : NULL;\n }\n \n #ifndef __HAVE_ARCH_STRSPN\n", "prefixes": [ "v2", "5/9" ] }