Skip to content

Prevent potential NULL dereference in drmaa_wait()#7

Open
judith-ipac wants to merge 1 commit intonatefoo:mainfrom
judith-ipac:fix-null-dereference-drmaa-wait
Open

Prevent potential NULL dereference in drmaa_wait()#7
judith-ipac wants to merge 1 commit intonatefoo:mainfrom
judith-ipac:fix-null-dereference-drmaa-wait

Conversation

@judith-ipac
Copy link
Copy Markdown

In drmaa_wait(), result_job_id is assigned from session->wait(), which calls fsd_drmaa_session_wait(). In the DRMAA_JOB_IDS_SESSION_ANY case, this in turn calls fsd_drmaa_session_wait_for_any_job(), which can return NULL without raising an exception — for example if fsd_strdup() fails due to memory exhaustion.
In this case result_job_id is NULL when strlcpy() is called, causing a segfault.
This was confirmed via a core dump showing result_job_id = 0x0 and _fsd_exc_rc = 0 (indicating normal execution path, no exception raised) in drmaa_wait().
The patch adds a NULL check before the strlcpy() call, leaving job_id_out as an empty string if result_job_id is NULL.

Thanks to Claude for troubleshooting and writing this description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant