all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: Mira Limbeck <m.limbeck@proxmox.com>
Cc: pmg-devel@lists.proxmox.com
Subject: [pmg-devel] applied: [PATCH pmg-log-tracker] fix wrong QID argument handling
Date: Mon, 22 Sep 2025 19:05:41 +0200	[thread overview]
Message-ID: <20250922190541.16a4635b@rosa.proxmox.com> (raw)
In-Reply-To: <20250922160514.350896-1-m.limbeck@proxmox.com>

Thanks for checking this out and providing the patch!
verified it indeed fixes the observed issue (after reproducing it with the
current version)

Could you maybe add some regression-tests for this - seems quite easy to
attain and would help catching similar issues in the future?

If not let me know - and I'll try to add them.


On Mon, 22 Sep 2025 18:05:14 +0200
Mira Limbeck <m.limbeck@proxmox.com> wrote:

> 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));



_______________________________________________
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 17:05 UTC|newest]

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

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=20250922190541.16a4635b@rosa.proxmox.com \
    --to=s.ivanov@proxmox.com \
    --cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal