From patchwork Thu Feb 29 18:07:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13577474 Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56F0B7580C for ; Thu, 29 Feb 2024 18:07:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230071; cv=none; b=tMEnjMCH5rIFGXdU/kZkhud4w5zhO4qBGRLpKF09VTQyHXTaYy3fUqUTZdag8jF3QKYWHfnpEk+l31C6cwd637LhBbK8h3MgzBl2Bqwth95/NdY15J9SAQkph163C3IkLoxtjB25H1swRo8viUsl3FXrTU0pMmhq+o6Di5Os7yA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230071; c=relaxed/simple; bh=cuh2FD7jR5o1QO9n3R0TDeyXDKZ0BvaAyQiICNebl0A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hKiwlbqpXXseYmTTvtgFTFI/ssgL1aIoMMTAsNJ1QJ+52GripAKNH4/pZac6qogE8a8LYK/vU/sLDYDewSbIWBd2WmD6GfXL5AiJom2hoE15BQcmWKd3bbumwlYuKhmvieka6YpNbXrc3JyDlNrrjV30UwmV9LPeg+s7ax7cxGs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Gg/kHPO4; arc=none smtp.client-ip=209.85.160.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Gg/kHPO4" Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-21edca2a89dso614116fac.3 for ; Thu, 29 Feb 2024 10:07:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709230069; x=1709834869; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=IlQmreyy0+/j5q9Q3CZ2kYkYnYjjBFT+tCwzXSkKtcA=; b=Gg/kHPO4ttAtCY/GafSpu5K9mb3HPfugkjTSwMUqwQFHTxUE7ARP+cumS8GvaH0Hyw g5cOmIPANBd29XBSpQ2E2+DNmSQD2VHa7mpoRa+1pd7RVbpR52lF//hU72IiZ191HfXI ++4hr2DY+JqvkobnAaIIFHkTGcUI8lWBk3tr9Kuox8e9FyNOdhA8drHkbaZZxxVSuLc1 Cg/nEp/y7e5yiOZIqECMKGOBoFSG5UEAubyuGsQ/bg784utcPXhvUdD10uUzMkz5qxxV MKj/eArQk4QmoR4UPGk18EWZaJdeFQW+q8zI4ZIgXgfhPHUsIL/kQhTRrIUNCjX/PRdQ JLUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709230069; x=1709834869; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IlQmreyy0+/j5q9Q3CZ2kYkYnYjjBFT+tCwzXSkKtcA=; b=oLHUBa1eH7OVC1uX/9mjyAb/5fXaRZi+xhyWREhl99dauD4sDqZzIyTqQa05eoPuB6 ht6h0pBW6lbygfHSRhLTgas8WkYX16OO8lHWb7EknNn3bS7qb+exuTo3wFOKyXQrCHyT DVkpN+fpY5Vsq5ePLySSecY8qcYJVER6R6NNWKtpU2/2SveCqWf48qFWn+TYfspWmu5/ RlwaGpZ7fDsWAIV7PUdq8GBxPAwC0WT/q+ZR70zQgy1usO28AHhatL1YzihepDWAjjzB DwdTPacbXqD7JIaJJ62qfgqXwFBhy9EET2TvM+eJmSPVJX+54mXfbJt+NkK7H86fxxrt 7RNw== X-Gm-Message-State: AOJu0YzL9LKVL7fPa492uZuJpAPL8AbyUWuRHm22ex9nRW8EbaQs9B3B YbcAu+gZOazZNc0zIDtvygwPYempnYE0oY8kDZW0gE8hbsmPMj7kkRcjYUEJ X-Google-Smtp-Source: AGHT+IEkA8nUyAtp9qeUuaDikVaph5yknk4sS5Q+PTr2sGTXwfzASktW5UqDy4PVf05lTM5pi/CWFQ== X-Received: by 2002:a05:6870:e2d2:b0:21f:1705:d5b0 with SMTP id w18-20020a056870e2d200b0021f1705d5b0mr2782343oad.52.1709230069279; Thu, 29 Feb 2024 10:07:49 -0800 (PST) Received: from localhost.localdomain (070-114-247-242.res.spectrum.com. [70.114.247.242]) by smtp.gmail.com with ESMTPSA id gz14-20020a056870280e00b0022008c33ee0sm549899oab.36.2024.02.29.10.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 10:07:49 -0800 (PST) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH 1/4] voicecall: Drop unused GError variables Date: Thu, 29 Feb 2024 12:07:33 -0600 Message-ID: <20240229180746.1671015-1-denkenz@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 GError return variables would possibly be allocated by g_key_file_get_* functions, but never used and never freed. Fix that. --- src/voicecall.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/voicecall.c b/src/voicecall.c index 725a166b0376..1bf96ee179b4 100644 --- a/src/voicecall.c +++ b/src/voicecall.c @@ -3438,10 +3438,9 @@ static void emulator_dial_callback(const struct ofono_error *error, void *data) gboolean need_to_emit; struct voicecall *v; char *number; - GError *err = NULL; number = g_key_file_get_string(vc->settings, SETTINGS_GROUP, - "Number", &err); + "Number", NULL); v = dial_handle_result(vc, error, number, &need_to_emit); @@ -3564,7 +3563,6 @@ static void emulator_bldn_cb(struct ofono_emulator *em, struct ofono_voicecall *vc = userdata; char *number = NULL; struct ofono_error result; - GError *error = NULL; switch (ofono_emulator_request_get_type(req)) { case OFONO_EMULATOR_REQUEST_TYPE_COMMAND_ONLY: @@ -3572,7 +3570,7 @@ static void emulator_bldn_cb(struct ofono_emulator *em, goto fail; number = g_key_file_get_string(vc->settings, SETTINGS_GROUP, - "Number", &error); + "Number", NULL); if (number == NULL || number[0] == '\0') goto fail; From patchwork Thu Feb 29 18:07:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13577475 Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 309D67580B for ; Thu, 29 Feb 2024 18:07:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230072; cv=none; b=Y9NiQlEgPHuMDTVbV6KXpfYOfP8Pb6fO07hMjq3Ctu0j3cqP1R2CcYjDeP59OCHZWGvhzd5SKxg/ACXtrkYppPKh6rPlevx+YGXUEtoir+all/+lHuRyg7h59IyEMPEqY7bgo2HA9v5F79if+fGQ7+EGGGjD02/powwMwuj4Jr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230072; c=relaxed/simple; bh=ALaFddaMybjdvoQUptL7z8fTvU8rFFNWAa8p+432H7A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HxKXRhTPTPkbkGiOyeoiPKsQis1pmtWwcIV3Yu2iMNvP5uA1lDyGIg0HMHjLNXhzhw0ubESVUsUNCMsARYUEbsuFeqkRAaibqx9qZv7HqCqBhHXu00QC6Os5wlAKUniwkybFFSMFa2525WdzJ6HXkycqEOMesSmQUdmFhQwir74= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=amWh1+pS; arc=none smtp.client-ip=209.85.210.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="amWh1+pS" Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-6e0f43074edso768185a34.1 for ; Thu, 29 Feb 2024 10:07:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709230070; x=1709834870; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BmtEp7NOnUMWVq/LgsQkQj+PEKpnbL/3LbpIH3T9rdw=; b=amWh1+pSHZKA3x7MDBUImZPLJ8Zf/sA9Ef7v1O96Krs7DCPSDWVvCrxOQaUI+XE50C WuEAS9ymHFc/dFoIUJacmB89i+39p47k86A0i85wpHJBJTv5CmEV/81asbbQA/Lg6xTe Pi9BIZ9xo8R0Tc5synzxsNCydh/IZ1VZzPGqdJRD6S0YjOUDFulhWDrm5fPnJxytDGGU hz0lNBzB/wtai/ePFmKH2smG9tLbTg9hmz7hBdoVAgeDT1GiZGkf7dKVeJRBKogGm5fJ tEkBwm1Jl/yA6R+jNs8cGelAf7F+s9ivprMFLHn3bQ5mZ6ts6Z1DNJoI1p3Z+4jyixCa aD0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709230070; x=1709834870; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BmtEp7NOnUMWVq/LgsQkQj+PEKpnbL/3LbpIH3T9rdw=; b=BF1+F9Tsq4tV/isNh74GD9m/Ud0zzI3/f4v9TCaazc8CXlo/LgiVpfIfrDPdmHIJAN 2ZRmJckfnCBPVC1F//u/+77iHAqInEPmBbCvJGOW4vheLg8UcyUe/QbN7Vk/bNIW5SE2 5GJpqrusfF0jLf1OWT6aURBSRlKV8Lv+RPB3vXxn58szUJOvlX7u9JtFogGTQdJghyA4 9PEG2pB9FQpDcI5NfP9a4nyfiKpmUMqHaKOkEhXFXdw1a1wQhymTD77iG5ujof/OujWV XV6X4Q2C6Hzo+sHRT+FKz6JhSjbAfzlfasgHqkKBwO75wLgHllIJEwETkEd9GlwQChEj gt4A== X-Gm-Message-State: AOJu0YyvTfYbY2myXNt4VA6oFtUT+rKYXA+wYJWaXnrIhT+JgJsJKKOa yetZUeVrB+cXD7ZGjgMfmIjatFc/QjS3G4q6LXCcWfNjrF45rEs3Vy9uzvji X-Google-Smtp-Source: AGHT+IEkR0qaNLVta2E5ibCg7WdYbHyLpD49eHdvzikWrfwPIDkd0kVPSPWtwkyZNPg+yRxur9EmPw== X-Received: by 2002:a05:6870:9597:b0:220:8d98:fafd with SMTP id k23-20020a056870959700b002208d98fafdmr3182884oao.4.1709230070053; Thu, 29 Feb 2024 10:07:50 -0800 (PST) Received: from localhost.localdomain (070-114-247-242.res.spectrum.com. [70.114.247.242]) by smtp.gmail.com with ESMTPSA id gz14-20020a056870280e00b0022008c33ee0sm549899oab.36.2024.02.29.10.07.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 10:07:49 -0800 (PST) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH 2/4] smsutil: ensure the address length in bytes <= 10 Date: Thu, 29 Feb 2024 12:07:34 -0600 Message-ID: <20240229180746.1671015-2-denkenz@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240229180746.1671015-1-denkenz@gmail.com> References: <20240229180746.1671015-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 If a specially formatted SMS is received, it is conceivable that the address length might overflow the structure it is being parsed into. Ensure that the length in bytes of the address never exceeds 10. --- src/smsutil.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/smsutil.c b/src/smsutil.c index 954f92df2c0d..e89b4567f9f4 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -643,7 +643,12 @@ gboolean sms_decode_address_field(const unsigned char *pdu, int len, else byte_len = (addr_len + 1) / 2; - if ((len - *offset) < byte_len) + /* + * 23.040: + * The maximum length of the full address field + * (AddressLength, TypeofAddress and AddressValue) is 12 octets. + */ + if ((len - *offset) < byte_len || byte_len > 10) return FALSE; out->number_type = bit_field(addr_type, 4, 3); From patchwork Thu Feb 29 18:07:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13577476 Received: from mail-oa1-f50.google.com (mail-oa1-f50.google.com [209.85.160.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BFB878268 for ; Thu, 29 Feb 2024 18:07:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230073; cv=none; b=rf5uV61RAABHoaKlK/U51j/I/ZFTVbmK+OXYYYhwv/JAqPfIspufzsSi20CPUWrrIgfcq2hLqVYPg1DKkjziJgPVbKzVq26kDYzRMG3QVyvnAPARSoM40rTyunonumrV2tkxsIGYymj0tofFw+sd2Z84RBvKSTnk+UFBoXzMEH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230073; c=relaxed/simple; bh=9OSneFP5Ti/ZShVTGtd7Q+Jw7isyd6AqS6ldLbrQz9o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SAhwggyHJlaTM8XrZE8cesgID9eg8lwZbwjFPftNFTfOwdojkNd5hJt0ZC9L+BOlnxZ83yUH66LNJXAjU3C9x/6SjZQRMomGiEmdJo5Cvjz1Z96FNfKDqLTXPMP/XqVtdWeoeJYRmMuvdAGnmcoGHToDjor21R5QIrrQAAPek/k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XX7rbgbt; arc=none smtp.client-ip=209.85.160.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XX7rbgbt" Received: by mail-oa1-f50.google.com with SMTP id 586e51a60fabf-21e6be74db4so607125fac.2 for ; Thu, 29 Feb 2024 10:07:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709230070; x=1709834870; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PusAo9SRqPkuh2CLA9jf1bxtFNnKiT9zBOKfWEWvnHw=; b=XX7rbgbtVJBICrknLmAsroumI4jBH3gmVJ55IZSEDAfCpDblqct7cjdp2WUNbvkdPz 3s21BcVZrhnaKocXeVDE8Yz7tQ+UtDfjXafr33mjAJ+jdaipJVNhpxPHFbJ7qc2ppd7Z bcYxxQA98VXj5YrGdXMr+REq7sxJCGNpKUSDWrOMUlpDs8fL+v4iSrSR2Ki3V6qH/8Te j/w3ZHpluGtn4HoKchNTj9V7kUCOd9sTnff5+TKRlemujM+YJgfb7rL0/tmNNq1CMAs2 STDyp2yOqFb5pjy3bu+fTjUd3SQLk3TjRSRis0LC9VECpEEKNu0pkOpB4qgpQ0+Ydu6C F83g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709230070; x=1709834870; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PusAo9SRqPkuh2CLA9jf1bxtFNnKiT9zBOKfWEWvnHw=; b=WN/nHX56iW3ibOr5DChznTTgdR/sRUDJ+B04px3uaddbrkOfZz+Bp2/lKj7+AG64Z9 opYx0J//MPj2FOnCsMehUrzAlI5kSK3PKmBj4PNXWjbS21mR5NM3f0dHH5WOQyPFTe0o LAd+FLwazhWhcJZav0mkOzQqdMYtiQbZo9Li4DJb1KQxZUBjQPFIR0InHx9PzGYMwxD8 1dMtSyASMaBxpDRQf1laNUizsVCRr2c3U9CtOVwWnyYQPZC44xf61k4/JD+bXrrQsN4I zzMCAGePNf+CRK/bmljO2LsIfvpvDNwiv/ApqaPI20KN35haFezhKEF5A3soFkw1A+/D cNoQ== X-Gm-Message-State: AOJu0YxxMA3UH9oaJ5ZWU+B4Ophb0ViMXEefpSwCIfnQoSaAM7dskvfG oJy40/aHYl+W2V0r1hKYpqHzSUDUpNaheWmurdc9p4WtnF/Mw2entOKQXDJi X-Google-Smtp-Source: AGHT+IE8K0S8ENaaA5UTBM4IjlEMELT+T4L4QcwCBRv0wzmwy6nvyi1HNd+TvUk+KlCUsN8azeMVPg== X-Received: by 2002:a05:6870:f219:b0:220:8d66:3fdb with SMTP id t25-20020a056870f21900b002208d663fdbmr3008569oao.36.1709230070756; Thu, 29 Feb 2024 10:07:50 -0800 (PST) Received: from localhost.localdomain (070-114-247-242.res.spectrum.com. [70.114.247.242]) by smtp.gmail.com with ESMTPSA id gz14-20020a056870280e00b0022008c33ee0sm549899oab.36.2024.02.29.10.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 10:07:50 -0800 (PST) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH 3/4] smsutil: Check cbs_dcs_decode return value Date: Thu, 29 Feb 2024 12:07:35 -0600 Message-ID: <20240229180746.1671015-3-denkenz@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240229180746.1671015-1-denkenz@gmail.com> References: <20240229180746.1671015-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 It is better to explicitly check the return value of cbs_dcs_decode instead of relying on udhi not being changed due to side-effects. --- src/smsutil.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/smsutil.c b/src/smsutil.c index e89b4567f9f4..6fe2bcb4477f 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -1765,7 +1765,8 @@ gboolean sms_udh_iter_init_from_cbs(const struct cbs *cbs, const guint8 *hdr; guint8 max_ud_len; - cbs_dcs_decode(cbs->dcs, &udhi, NULL, NULL, NULL, NULL, NULL); + if (!cbs_dcs_decode(cbs->dcs, &udhi, NULL, NULL, NULL, NULL, NULL)) + return FALSE; if (!udhi) return FALSE; From patchwork Thu Feb 29 18:07:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13577477 Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E3F378270 for ; Thu, 29 Feb 2024 18:07:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230074; cv=none; b=V2TIUuEl3u1Xx2JSdiVj9N7iA/Gqr5OmupoVAAr3it1I1jhCpm+AbHgZ4bc7pEJZ+tTSc6EzUwmo02aMFGr4X/FgJ/qZsmt1MJ1mQ6fO4UjTRTG4Q3EovLyB1b4E4/UAYwQeacs7eT3tszfn8c//sz6CHKUOgvNDoUWdXjXBNQk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709230074; c=relaxed/simple; bh=Y2VVKKTK/rnOwl4gqjiAvOpaI11f4QqeFvyNkRXzGHk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rASlhUY9o8zCXHrf1Z0myWuk87K/qVN2r1w+uKubJhaTbhIacg6069KL9htOxF0Y7kC0jVt3DNA1RFURe1MO/64GWvp2uGeeO0GGzm4IfICDD9gegn4kz7174r0bK/VSn2WobCq/rkuZjRPiAEo5VG1yqXzRZmhrYX/V3ejqeGw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WBUMsavq; arc=none smtp.client-ip=209.85.160.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WBUMsavq" Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-21ec3ca9ab9so539183fac.3 for ; Thu, 29 Feb 2024 10:07:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709230071; x=1709834871; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SJq6d2m9G4HpunIJ7Ho76OU9gbVxJv+agHVJAKKuhw4=; b=WBUMsavqA3UOJEu8m97x68XYMY2YMYNj0x8pMKYn/cnNXst2nkpfDFeuaRDwGMsmDi AkkOZDbBDzhfyILhpiJC+DEFGhEd3/9WkUE3F/T59/bcdrEs6v8d2oub5SoTFiobtfxl 0bdfNw79KLiWAbKXWjzKbqC97NqN6U0chSwuD+xaPQdwMPZ7WKYGXWsB2L9+HgyGx3Op wCypAqVniLBYuKXGBHg+HxqDG+SyR6kUl9XPBThv7OxQP8Q/Ga+KjuVbUuKupyXti77N mz2AaGHkPOoscfp5/LAN4v/surrgBmkxr5Wy7xdw5PfbUFqpd78Tv/JLEhdmq6nnooxg GLWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709230071; x=1709834871; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SJq6d2m9G4HpunIJ7Ho76OU9gbVxJv+agHVJAKKuhw4=; b=m8G0lW98EfrFECrpt4OUa+EKwqUrQbJvX0cHqNJd4t/DEVK9eUD9Ch624OIu1xFjBu /tSMAB8YyYS+vQPxpvmFydicXV5G0CtYkPBqGIUucq1Xsvj/hIV/20zYwBev8PCg0M6u bpUxzfogwpqI4ZBwD0LY0UvQZOjn46ymXmHwYlzulnHwHJfNn5e7ZNufkD3TXBP66A3C 3yowBkmAqbm/jHp2rSMSs59wAmhB7CkYfL8b+fiv9Jce4JZJ/OREHI9rT6cCOcb/W71g zGf9KWHx3CySCMOj90wo0Eg69XF+xT4UbN2FkYSl+I4UOSjb45rU1hSOYZatWs2nD12t FiDQ== X-Gm-Message-State: AOJu0YymUGowOaqGHtTnyLK0UTtDyTTysHiKfLeQ5JNe+Lv0OWGaJENM UmLD2Le1oEBOCNha/aOT8NTJlRUmb8mEANjnY7h5K0I6D/1sUQdDIHVzGIVY X-Google-Smtp-Source: AGHT+IH+4fPcb5mhRHOxlp9LzwEo2D4s4ivCoryh590gehgcjO9TCxiOMAWSDcL4L31+DoT9BTUFQA== X-Received: by 2002:a05:6870:a2c9:b0:220:8d36:46f0 with SMTP id w9-20020a056870a2c900b002208d3646f0mr2919230oak.11.1709230071340; Thu, 29 Feb 2024 10:07:51 -0800 (PST) Received: from localhost.localdomain (070-114-247-242.res.spectrum.com. [70.114.247.242]) by smtp.gmail.com with ESMTPSA id gz14-20020a056870280e00b0022008c33ee0sm549899oab.36.2024.02.29.10.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Feb 2024 10:07:51 -0800 (PST) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH 4/4] simutil: Make sure set_length on the parent succeeds Date: Thu, 29 Feb 2024 12:07:36 -0600 Message-ID: <20240229180746.1671015-4-denkenz@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240229180746.1671015-1-denkenz@gmail.com> References: <20240229180746.1671015-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 --- src/simutil.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/simutil.c b/src/simutil.c index a4a8f8c4b230..543ab9962ef2 100644 --- a/src/simutil.c +++ b/src/simutil.c @@ -588,8 +588,9 @@ gboolean ber_tlv_builder_set_length(struct ber_tlv_builder *builder, if (new_pos > builder->max) return FALSE; - if (builder->parent) - ber_tlv_builder_set_length(builder->parent, new_pos); + if (builder->parent && + !ber_tlv_builder_set_length(builder->parent, new_pos)) + return FALSE; builder->len = new_len; @@ -730,9 +731,9 @@ gboolean comprehension_tlv_builder_set_length( if (builder->pos + new_ctlv_len > builder->max) return FALSE; - if (builder->parent) - ber_tlv_builder_set_length(builder->parent, - builder->pos + new_ctlv_len); + if (builder->parent && !ber_tlv_builder_set_length(builder->parent, + builder->pos + new_ctlv_len)) + return FALSE; len = MIN(builder->len, new_len); if (len > 0 && new_len_size != len_size)