From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B70814C1F4 for ; Sat, 8 Nov 2025 13:39:20 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'5i6spbCgSYTCkFgsSwDav9mwCJXGop7i2DTQX0175Qw=', expected b'SNM20BajFgDOWwMOeSaRTrntqX5qLaxht4ozkxmU4uo=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1762609147; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=5i6spbCgSYTCkFgsSwDav9mwCJXGop7i2DTQX0175Qw=; b=tT6jJUBHpev7q6NWo2m4J7geoMlp8wWxYTGJXSfNxAAr5X3sKfE0ZkGxMGf/Hv8ixkkAo Wsv0qI+ET+FXWyGyIR4xvOjFlGvqSJkyz7CgXJQSqs4wGGyHKRfUpWxrZlLkWujpGdlbPt2 UodxK4A1SAcmBeBBJIFUCQh/Ch4RCJwxsYSO+linsIAiZVocJHwEiHD1LEm1WwtL5JPz673 S81M3hiZ3NB9QcTadqPminI9bPcTDucMamX00L1SRN7XFqFZI+DTfaqu2E8I81N1cZFxehz QEJM2E4XNM8XPpwqXbz6awV37nMIBeHJabTCXDPe+QesngLNCfeyl8UclMhg== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id D187B68FB66; Sat, 8 Nov 2025 15:39:07 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1762609133; b=PAIn1HUUTWFTdPUiS7d55XczWFkrSqA7zU6Mxcbt97SS/ILYzQfH6QVUzv8KCXQBKz+32 rEjtsCIQ5NhYUy7RZa7WWje+IpYM1rb6YHhCNijQeymtqqQC2R/kM4fks9LteNNyJujfy+4 zFzFzT8hat4yn+aJLRMCIxnRUJZNuKM89gxMVaKb+lJJD7t2PrTaDogK6U9vJt4vKfk4KsT xR5HYS79WURObvuWbWB6GBLWG166kcJqSCComhQKu7gy9r+Db7bAdAenNrrfciP38dq56rH ajPXXL59vFuSkI7jlu3KEMJQ7AiUYu2JAmSlDoJEl+l0ZjVrlmVntdCithOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1762609133; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : 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=5i6spbCgSYTCkFgsSwDav9mwCJXGop7i2DTQX0175Qw=; b=cOQhi9YlvOedYspuFKT5Hbyve7bix/38AWF+uKQ/K1tPp35QYZ7O3GR+5YPlXJqRWetRA MwoVC6jGRfvS/+hVj9wgg437p0Ww0Gb8T2xfACQlPOMKZoJHiep6KyzusJn15CjXk0NYgkG Yb4l1cPwCTSKLNy+g24B81YVx+XS2splT1ubpOVZ+Ukjadpy0yCrffC3DJI7ugQZGstmm/Z TLTC1Y1lfdG7VJ4b++AJ5HWWq6voUPYOFAmNboExw2d45T6D5jGn2R9P1ZxSRtySzgwrsYI IWtF5YSIpsXAse80SYMY9EaK0ozfN2tWA2hdvWbH9Su+d1urBiazK/0QsphQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1762609124; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=SNM20BajFgDOWwMOeSaRTrntqX5qLaxht4ozkxmU4uo=; b=A0ZCT2e4Ye3UG5VTyIBLnXzEnZW+AyW/LVEhZNUnXzNpjimIjyohvUMN02OsQuHX9vuL0 9brr/xJKQQz4mhZryMrooxf/0HQyk5iNi3Q1i2A1v5yzSzfW9I3TWidWlOCRig3IHXjWTI2 97hhVhnD52BRmcWz0swXbDZr+T/A9uNOxtU13JEk4kZjjBmezbpNRLCNLzog8SenqhsRQqT 3wHOeRgD2eP/xkNJCCptjCaaZed4DCFVxbFBY4MDgWTEYlNS7XifdR9xYD3+TSXMOIRc8In oQFOWUb7pz8TWIkRmI4JAVv55DrKFkxngARqW8N9pDIYn81yYOMiHq0o1Icw== Received: from 188d6d40ca7a (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 0FF8F68F5C9 for ; Sat, 8 Nov 2025 15:38:44 +0200 (EET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Sat, 08 Nov 2025 13:38:43 -0000 Message-ID: <176260912426.25.18389496593285915099@2cb04c0e5124> Message-ID-Hash: 7WS4TQPSLMBLHUERNK4BDMSFNHVLWWSA X-Message-ID-Hash: 7WS4TQPSLMBLHUERNK4BDMSFNHVLWWSA X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] Bug fix attempt for #11691 - swscale: Fix heap-buffer-overflow in unscaled YUV-to-RGB conversion (PR #20864) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: thomasdullien via ffmpeg-devel Cc: thomasdullien Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIwODY0IG9wZW5lZCBieSB0aG9tYXNkdWxsaWVuClVSTDogaHR0cHM6Ly9jb2RlLmZmbXBl Zy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDg2NApQYXRjaCBVUkw6IGh0dHBzOi8vY29kZS5m Zm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjA4NjQucGF0Y2gKCkZvciB0cmFuc3BhcmVu Y3k6IEkgYW0gZXhwZXJpbWVudGluZyB3aXRoIGFuIEFJLWFzc2lzdGVkIHBhdGNoIHByb2Nlc3Ms IHdoZXJlIHRoZSBBSSBhZ2VudCBhdHRlbXB0cyB0byBoZWxwDQpyb290LWNhdXNlIGFuYWx5emUg YSBjcmFzaCBieSBtZWFucyBvZiByZXByb2R1Y2luZyB0aGUgY3Jhc2ggd2l0aCBBU0FOLCBtYWtp bmcgYSByZWNvcmRpbmcgd2l0aCAncnInLCBhbmQNCmRvY3VtZW50aW5nIHRoZSBhbmFseXNpcyBh dCBhIGdyYW51bGFyIGxldmVsIHdpdGggdmVyYmF0aW0gcXVvdGVzIGZyb20gdGhlICdycicgdHJh Y2UuIFRoaXMgcm9vdC1jYXVzZSBhbmFseXNpcw0KaXMgdGhlbiBpdGVyYXRpdmVseSByZXZpZXdl ZCAoZS5nLiBhcyBhIGh1bWFuIHJldmlld2VyIEkgY2hlY2sgaXQgZm9yIGFjY3VyYWN5IGFuZCBw bGF1c2liaWxpdHkpIGJlZm9yZSBhIHBhdGNoIGlzDQpnZW5lcmF0ZWQuIFRoZSBwcm9jZXNzIGdl bmVyYXRlcyBhIGRldGFpbGVkIGFuYWx5c2lzIHJlcG9ydCwgYW4gJ3JyJyB0cmFjZSB0aGF0IGNh biBiZSBzaGFyZWQgd2l0aCBvdGhlciB0byBoZWxwDQp3aXRoIHRoZSB2ZXJpZmljYXRpb24sIGFu ZCBhIHBhdGNoLiBHaXZlbiB0aGF0IGl0IGlzIHVubGVhciBob3cgdG8gYmVzdCBzaGFyZSB0aGUg J3JyJyB0cmFjZSwgSSBoYXZlIG9ubHkgYXR0YWNoZWQgdGhlDQpkZXRhaWxlZCByb290LWNhdXNl IGFuYWx5c2lzIGRvY3VtZW50Lg0KDQpUaGlzIHBhdGNoIGF0dGVtcHRzIHRvIGFkZHJlc3MgaHR0 cHM6Ly90cmFjLmZmbXBlZy5vcmcvdGlja2V0LzExNjkxDQoNCkl0IHNob3VsZCBiZSBub3RlZCB0 aGF0IEkgYW0gdmVyeSBtdWNoIG5vdCBhbiBleHBlcnQgaW4gdGhlIGZmbXBlZyBjb2RlYmFzZSwg c28gcGxlYXNlIGJlYXIgd2l0aCBtZSBpZiB0aGUgcHJvcG9zZWQNCnBhdGNoIGlzbid0IHdoYXQg aXMgbmVlZGVkLiBJJ3ZlIHJlLXJ1biB0aGUgdGVzdCBzdWl0ZSwgYW5kIGl0IGxvb2tzIHZlcnkg cGxhdXNpYmxlIHRvIG1lLg0KDQotLS0tLS0tLS0gRGVzY3JpcHRpb24gLS0tLS0tLS0tLS0tLS0t LS0NCg0KTWFueSBZVVYtdG8tUkdCIGNvbnZlcnNpb24gZnVuY3Rpb25zIGluIHl1djJyZ2IuYyBw cm9jZXNzIDIgc2NhbmxpbmVzDQpwZXIgaXRlcmF0aW9uLiBXaGVuIHN3c19zY2FsZSgpIGlzIGNh bGxlZCB3aXRoIGluc3VmZmljaWVudCBzb3VyY2Ugcm93cw0KYXZhaWxhYmxlIChlLmcuLCBzcmNT bGljZVk9MSB3aXRoIG9ubHkgMiB0b3RhbCByb3dzLCBsZWF2aW5nIDEgcm93KSwNCnRoZXNlIGZ1 bmN0aW9ucyB3b3VsZCByZWFkIGJleW9uZCB0aGUgYWxsb2NhdGVkIGJ1ZmZlciBib3VuZHMuDQoN ClRoaXMgb2NjdXJyZWQgYmVjYXVzZSB0aGUgY29udmVydF91bnNjYWxlZCBwYXRoIGRpZCBub3Qg dmVyaWZ5IHRoYXQgYXQNCmxlYXN0IDIgcm93cyB3ZXJlIGF2YWlsYWJsZSBiZWZvcmUgY2FsbGlu ZyB0aGUgY29udmVyc2lvbiBmdW5jdGlvbi4gVGhlDQppc3N1ZSB3YXMgcGFydGljdWxhcmx5IGV2 aWRlbnQgd2l0aCBmb3JtYXRzIGxpa2UgeXV2NDIycCB3aGVuIGNvbnZlcnRpbmcNCnRvIHJnYjQg b3Igc2ltaWxhciBwaXhlbCBmb3JtYXRzLg0KDQpBZGQgYm91bmRzIGNoZWNraW5nIGluIHNjYWxl X2ludGVybmFsKCkgYmVmb3JlIGludm9raW5nIGNvbnZlcnRfdW5zY2FsZWQNCnRvIGVuc3VyZSBh dCBsZWFzdCAyIHNvdXJjZSByb3dzIHJlbWFpbiBhZnRlciBhY2NvdW50aW5nIGZvciB0aGUgc2xp Y2UNCm9mZnNldC4gSWYgZmV3ZXIgdGhhbiAyIHJvd3MgYXJlIGF2YWlsYWJsZSwgcmV0dXJuIDAg KG5vIHJvd3MgcHJvY2Vzc2VkKQ0KaW5zdGVhZCBvZiBhdHRlbXB0aW5nIGNvbnZlcnNpb24sIHBy ZXZlbnRpbmcgdGhlIG91dC1vZi1ib3VuZHMgYWNjZXNzLg0KDQpGaXhlczogaHR0cHM6Ly90cmFj LmZmbXBlZy5vcmcvdGlja2V0LzExNjkxDQoNCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBD b2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpDQoNCkNvLUF1dGhvcmVkLUJ5OiBD bGF1ZGUgPG5vcmVwbHlAYW50aHJvcGljLmNvbT4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KCgoKRnJvbSA2MTM4NTczZGQwMzY0ZWVlNzA1MWVhYTFiYTI3 Y2ViZWU3MzhiYjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiVGhvbWFzIER1bGxp ZW4gKEFJIGFzc2lzdGVkKSIgPHRob21hcy5kdWxsaWVuK2ZmbXBlZ0BnbWFpbC5jb20+CkRhdGU6 IFNhdCwgOCBOb3YgMjAyNSAxNDozMDoyOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHN3c2NhbGU6 IEZpeCBoZWFwLWJ1ZmZlci1vdmVyZmxvdyBpbiB1bnNjYWxlZCBZVVYtdG8tUkdCCiBjb252ZXJz aW9uCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpNYW55IFlVVi10by1SR0IgY29u dmVyc2lvbiBmdW5jdGlvbnMgaW4geXV2MnJnYi5jIHByb2Nlc3MgMiBzY2FubGluZXMKcGVyIGl0 ZXJhdGlvbi4gV2hlbiBzd3Nfc2NhbGUoKSBpcyBjYWxsZWQgd2l0aCBpbnN1ZmZpY2llbnQgc291 cmNlIHJvd3MKYXZhaWxhYmxlIChlLmcuLCBzcmNTbGljZVk9MSB3aXRoIG9ubHkgMiB0b3RhbCBy b3dzLCBsZWF2aW5nIDEgcm93KSwKdGhlc2UgZnVuY3Rpb25zIHdvdWxkIHJlYWQgYmV5b25kIHRo ZSBhbGxvY2F0ZWQgYnVmZmVyIGJvdW5kcy4KClRoaXMgb2NjdXJyZWQgYmVjYXVzZSB0aGUgY29u dmVydF91bnNjYWxlZCBwYXRoIGRpZCBub3QgdmVyaWZ5IHRoYXQgYXQKbGVhc3QgMiByb3dzIHdl cmUgYXZhaWxhYmxlIGJlZm9yZSBjYWxsaW5nIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9uLiBUaGUK aXNzdWUgd2FzIHBhcnRpY3VsYXJseSBldmlkZW50IHdpdGggZm9ybWF0cyBsaWtlIHl1djQyMnAg d2hlbiBjb252ZXJ0aW5nCnRvIHJnYjQgb3Igc2ltaWxhciBwaXhlbCBmb3JtYXRzLgoKQWRkIGJv dW5kcyBjaGVja2luZyBpbiBzY2FsZV9pbnRlcm5hbCgpIGJlZm9yZSBpbnZva2luZyBjb252ZXJ0 X3Vuc2NhbGVkCnRvIGVuc3VyZSBhdCBsZWFzdCAyIHNvdXJjZSByb3dzIHJlbWFpbiBhZnRlciBh Y2NvdW50aW5nIGZvciB0aGUgc2xpY2UKb2Zmc2V0LiBJZiBmZXdlciB0aGFuIDIgcm93cyBhcmUg YXZhaWxhYmxlLCByZXR1cm4gMCAobm8gcm93cyBwcm9jZXNzZWQpCmluc3RlYWQgb2YgYXR0ZW1w dGluZyBjb252ZXJzaW9uLCBwcmV2ZW50aW5nIHRoZSBvdXQtb2YtYm91bmRzIGFjY2Vzcy4KCkZp eGVzOiBodHRwczovL3RyYWMuZmZtcGVnLm9yZy90aWNrZXQvMTE2OTEKCvCfpJYgR2VuZXJhdGVk IHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCgpDby1B dXRob3JlZC1CeTogQ2xhdWRlIDxub3JlcGx5QGFudGhyb3BpYy5jb20+Ci0tLQogbGlic3dzY2Fs ZS9zd3NjYWxlLmMgfCAxOCArKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxOCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9zd3NjYWxlLmMgYi9saWJzd3Nj YWxlL3N3c2NhbGUuYwppbmRleCBmNGM3ZWNjYWM0Li43MDg2YjBmMGUyIDEwMDY0NAotLS0gYS9s aWJzd3NjYWxlL3N3c2NhbGUuYworKysgYi9saWJzd3NjYWxlL3N3c2NhbGUuYwpAQCAtMTE0MCw2 ICsxMTQwLDIzIEBAIHN0YXRpYyBpbnQgc2NhbGVfaW50ZXJuYWwoU3dzQ29udGV4dCAqc3dzLAog ICAgICAgICBpbnQgb2Zmc2V0ICA9IHNyY1NsaWNlWV9pbnRlcm5hbDsKICAgICAgICAgaW50IHNs aWNlX2ggPSBzcmNTbGljZUg7CiAKKyAgICAgICAgLyogTWFueSBZVVYtdG8tUkdCIGNvbnZlcnNp b24gZnVuY3Rpb25zIHByb2Nlc3MgMiBzY2FubGluZXMgcGVyIGl0ZXJhdGlvbgorICAgICAgICAg KiBhbmQgcmVxdWlyZSBhdCBsZWFzdCAyIHJvd3MgdG8gYmUgYXZhaWxhYmxlIGluIHRoZSBzb3Vy Y2UgYnVmZmVyLgorICAgICAgICAgKiBDaGVjayBpZiB3ZSBoYXZlIHN1ZmZpY2llbnQgcm93cyBh ZnRlciBjb25zaWRlcmluZyB0aGUgb2Zmc2V0LiAqLworICAgICAgICBpbnQgc3JjX3Jvd3NfcmVt YWluaW5nID0gc3dzLT5zcmNfaCAtIG9mZnNldDsKKyAgICAgICAgaWYgKHNsaWNlX2ggPiBzcmNf cm93c19yZW1haW5pbmcpIHsKKyAgICAgICAgICAgIC8qIENsYW1wIHRvIGF2YWlsYWJsZSByb3dz ICovCisgICAgICAgICAgICBzbGljZV9oID0gc3JjX3Jvd3NfcmVtYWluaW5nOworICAgICAgICB9 CisgICAgICAgIGlmIChzbGljZV9oIDwgMikgeworICAgICAgICAgICAgLyogQ2Fubm90IHNhZmVs eSBwcm9jZXNzOiBjb252ZXJzaW9uIGZ1bmN0aW9ucyB0aGF0IHByb2Nlc3MgMiByb3dzCisgICAg ICAgICAgICAgKiBwZXIgaXRlcmF0aW9uIHdvdWxkIHJlYWQgYmV5b25kIGJ1ZmZlciBib3VuZHMu IFJldHVybiAwIHRvIGluZGljYXRlCisgICAgICAgICAgICAgKiBubyByb3dzIHdlcmUgcHJvY2Vz c2VkLiBUaGlzIGlzIGEgc2FmZXR5IGNoZWNrIHRvIHByZXZlbnQKKyAgICAgICAgICAgICAqIGhl YXAtYnVmZmVyLW92ZXJmbG93IGluIHl1djJyZ2IuYyBhbmQgc2ltaWxhciBjb252ZXJzaW9uIGZ1 bmN0aW9ucy4gKi8KKyAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBnb3RvIHVuc2Nh bGVkX2VuZDsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIGZvciBkc3Qgc2xpY2Ugc2NhbGluZywg b2Zmc2V0IHRoZSBwb2ludGVycyB0byBtYXRjaCB0aGUgdW5zY2FsZWQgQVBJCiAgICAgICAgIGlm IChzY2FsZV9kc3QpIHsKICAgICAgICAgICAgIGF2X2Fzc2VydDAob2Zmc2V0ID09IDApOwpAQCAt MTE2MCw2ICsxMTc3LDcgQEAgc3RhdGljIGludCBzY2FsZV9pbnRlcm5hbChTd3NDb250ZXh0ICpz d3MsCiAKICAgICAgICAgcmV0ID0gYy0+Y29udmVydF91bnNjYWxlZChjLCBzcmMyLCBzcmNTdHJp ZGUyLCBvZmZzZXQsIHNsaWNlX2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZHN0MiwgZHN0U3RyaWRlMik7Cit1bnNjYWxlZF9lbmQ6CiAgICAgICAgIGlmIChzY2FsZV9kc3Qp CiAgICAgICAgICAgICBkc3QyWzBdICs9IGRzdFNsaWNlWSAqIGRzdFN0cmlkZTJbMF07CiAgICAg fSBlbHNlIHsKLS0gCjIuNDkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1sZWF2 ZUBmZm1wZWcub3JnCg==