public inbox for pmg-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Mira Limbeck <m.limbeck@proxmox.com>
To: pmg-devel@lists.proxmox.com
Subject: [pmg-devel] [PATCH pmg-log-tracker] fix wrong QID argument handling
Date: Mon, 22 Sep 2025 18:05:14 +0200	[thread overview]
Message-ID: <20250922160514.350896-1-m.limbeck@proxmox.com> (raw)

This fixes the mail lookup based on QID when only time and line info was
available, not a valid QID, which resulted in the following error in the
GUI:
`Error entry 'T68CD4EC2L00000003' not found (500)`

Somewhere between pmg-log-tracker 2.5.0 and 3.0 the behavior of
libc::sscanf seemed to have changed. It now requires mutable access to
the variables passed in, rather than immutable ones.

With 3.0 the behavior changed so that the following was printed:
```
```
Both `time` and `line` were kept at 0, the value they are initialized to
before sscanf is called.

By changing the variables to mutable the values are now parsed and set
correctly.

Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
---
 src/main.rs | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 0a4f192..0299be5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1964,12 +1964,19 @@ impl Parser {
         };
 
         while let Some(q) = args.opt_value_from_str::<_, String>(["-q", "--queue-id"])? {
-            let ltime: time_t = 0;
-            let rel_line_nr: libc::c_ulong = 0;
+            let mut ltime: time_t = 0;
+            let mut rel_line_nr: libc::c_ulong = 0;
             let input = CString::new(q.as_str())?;
             let bytes = concat!("T%08lXL%08lX", "\0");
             let format = unsafe { std::ffi::CStr::from_bytes_with_nul_unchecked(bytes.as_bytes()) };
-            if unsafe { libc::sscanf(input.as_ptr(), format.as_ptr(), &ltime, &rel_line_nr) == 2 } {
+            if unsafe {
+                libc::sscanf(
+                    input.as_ptr(),
+                    format.as_ptr(),
+                    &mut ltime,
+                    &mut rel_line_nr,
+                ) == 2
+            } {
                 self.options
                     .match_list
                     .push(Match::RelLineNr(ltime, rel_line_nr));
-- 
2.47.3


_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel


             reply	other threads:[~2025-09-22 16:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-22 16:05 Mira Limbeck [this message]
2025-09-22 17:05 ` [pmg-devel] applied: " Stoiko Ivanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250922160514.350896-1-m.limbeck@proxmox.com \
    --to=m.limbeck@proxmox.com \
    --cc=pmg-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal